战斗修改

master_haizei
PC-202302260912\Administrator 2023-10-23 17:39:11 +08:00
parent 0181282032
commit c4b2fdf92b
15 changed files with 365 additions and 103 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -184,7 +184,6 @@ ConfigName = {
Tips = "TipsConfig", Tips = "TipsConfig",
Hongmeng = "Hongmeng", Hongmeng = "Hongmeng",
HongmengUp = "HongmengUp", HongmengUp = "HongmengUp",
NewHeroConfig = "NewHeroConfig",
MainLevelBossConfig = "MainLevelBoss", MainLevelBossConfig = "MainLevelBoss",
ActivityGroups = "ActivityGroups", ActivityGroups = "ActivityGroups",
ArroGantFly = "ArroGantFly", ArroGantFly = "ArroGantFly",

View File

@ -54,6 +54,7 @@ end
--效果表 --效果表
local effectList = { local effectList = {
--造成[a]%的[b]伤害 --造成[a]%的[b]伤害
--a[float],b[伤害类型] --a[float],b[伤害类型]
[1] = function(caster, target, args, interval, skill) [1] = function(caster, target, args, interval, skill)
@ -62,6 +63,7 @@ local effectList = {
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
BattleLogic.WaitForTrigger(interval, function () BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1) BattleUtil.CalDamage(skill, caster, target, dt, f1)
-- LogError("造成伤害"..os:clock());
end) end)
end, end,
--造成[a]%的[b]伤害【AOE】 --造成[a]%的[b]伤害【AOE】
@ -180,7 +182,7 @@ local effectList = {
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
BattleLogic.WaitForTrigger(interval, function () BattleLogic.WaitForTrigger(interval, function ()
local dmg = BattleUtil.CalDamage(skill, caster, target, dt, f1) local dmg = BattleUtil.CalDamage(skill, caster, target, dt, f1)
if f2==0 then if f2==0 or dmg==nil then
return return
end end
BattleUtil.CalTreat(caster, caster, floor(dmg * f2),1,skill) BattleUtil.CalTreat(caster, caster, floor(dmg * f2),1,skill)
@ -3137,6 +3139,49 @@ local effectList = {
target:AddBuff(Buff.Create(caster, BuffName.Control, round, ctrType)) target:AddBuff(Buff.Create(caster, BuffName.Control, round, ctrType))
end) end)
end, end,
--近战造成[a]次,[b]%的[C]伤害
--a[int],b[float],C[伤害类型]
[160] = function(caster, target, args, interval, skill)
local f1 = args[1]
local dt = args[2]
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
local skillNumberTime=skill.skillnumberTime or nil
if skillNumberTime and skillNumberTime[1][1]~=0 then
for i = 1, #skillNumberTime do
local index=i
BattleLogic.WaitForTrigger(skillNumberTime[index][2]/1000, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
-- LogError("触发"..index.."次"..skillNumberTime[index][2].."|"..interval)
--LogError("attackdamage"..os.date())
--LogError("currentframe"..BattleLogic.CurFrame())
end)
end
else
BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
--LogError("attackdamage"..os.date())
end)
end
end,
--远程造成[a]次,[b]%的[C]伤害
--a[int],b[float],C[伤害类型]
[161] = function(caster, target, args, interval, skill)
local f1 = args[1]
local dt = args[2]
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
end)
end,
-- --己方场上人数 < 地方人数,对[a]目标选择[b]属性[c]%的法术伤害并附加逆风效果,不低于对[d]目标选择[e]属性[f]%的御甲并附加乘风效果。 -- --己方场上人数 < 地方人数,对[a]目标选择[b]属性[c]%的法术伤害并附加逆风效果,不低于对[d]目标选择[e]属性[f]%的御甲并附加乘风效果。
-- [160] = function(caster, target, args, interval, skill) -- [160] = function(caster, target, args, interval, skill)
-- local c1 = args[1]--持续回合数 -- local c1 = args[1]--持续回合数
@ -3162,7 +3207,8 @@ local effectList = {
--添加一个[a]印记,持续[b]回合 --添加一个[a]印记,持续[b]回合
--a[int]:7逆风风 8顺风风 --a[int]:7逆风风 8顺风风
[160] = function(caster, target, args, interval, skill) [162] = function(caster, target, args, interval, skill)
local type = args[1] local type = args[1]
local round= args[2] local round= args[2]
BattleLogic.WaitForTrigger(interval, function () BattleLogic.WaitForTrigger(interval, function ()
@ -3175,9 +3221,53 @@ local effectList = {
target:AddBuff(Buff.Create(caster, BuffName.BreakArmor, round,type)) target:AddBuff(Buff.Create(caster, BuffName.BreakArmor, round,type))
end) end)
end, end,
--近战造成[a]次,[b]%的[C]伤害
--a[int],b[float],C[伤害类型]
[163] = function(caster, target, args, interval, skill)
local f1 = args[1]
local dt = args[2]
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
local skillNumberTime=skill.skillnumberTime or nil
if skillNumberTime and skillNumberTime[1][1]~=0 then
for i = 1, #skillNumberTime do
local index=i
BattleLogic.WaitForTrigger(skillNumberTime[index][2]/1000, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
-- LogError("触发"..index.."次"..skillNumberTime[index][2].."|"..interval)
--LogError("attackdamage"..os.date())
--LogError("currentframe"..BattleLogic.CurFrame())
end)
end
else
BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
--LogError("attackdamage"..os.date())
end)
end
end,
--远程造成[a]次,[b]%的[C]伤害
--a[int],b[float],C[伤害类型]
[164] = function(caster, target, args, interval, skill)
local f1 = args[1]
local dt = args[2]
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target)
BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.CalDamage(skill, caster, target, dt, f1)
end)
end,
--为目标添加[a]属性[b]%的御甲 --为目标添加[a]属性[b]%的御甲
--a[int],b[float] --a[int],b[float]
[161] = function(caster, target, args, interval, skill)
[165] = function(caster, target, args, interval, skill)
local pro = args[1] local pro = args[1]
local v1 = args[2] local v1 = args[2]
BattleLogic.WaitForTrigger(interval, function () BattleLogic.WaitForTrigger(interval, function ()
@ -3187,6 +3277,20 @@ local effectList = {
end) end)
end, end,
--如果目标生命百分比小于等于[a]%,直接斩杀剩余所有血量(御甲无效)
--a[float]
[166] = function(caster, target, args, interval, skill)
local prop = args[1]
local isBoss=BattleUtil.CheckIsBoss(target)
if isBoss then
return
end
local curProp=BattleUtil.GetHPPencent(target)
if curProp>prop then
return
end
BattleUtil.Seckill(skill,caster,target)
end,
} }
return effectList return effectList

View File

@ -71,6 +71,7 @@ function EffectCaster:DoEffect(caster, target, eff, duration, skill)
-- --
if Effect[e.type] then if Effect[e.type] then
Effect[e.type](caster, target, e.args, duration, skill) Effect[e.type](caster, target, e.args, duration, skill)
-- LogError("造成效果"..os.date())
end end
end end
@ -135,13 +136,16 @@ function EffectCaster:Cast()
local arr = self.effectTargets[i] local arr = self.effectTargets[i]
if arr and #arr > 0 then if arr and #arr > 0 then
-- Ч¹ûÑÓ³Ù1Ö¡ÉúЧ -- Ч¹ûÑÓ³Ù1Ö¡ÉúЧ
-- LogError("注册effect"..os.date())
BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime, function() BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime, function()
local effects = effectGroup.effects local effects = effectGroup.effects
local weight = math.floor(chooseId % 10000 / 100) local weight = math.floor(chooseId % 10000 / 100)
local count = math.min(chooseId % 10, #arr) local count = math.min(chooseId % 10, #arr)
if count == 0 then if count == 0 then
count = #arr count = #arr
end end
-- LogError("执行effect1"..os.date())
table.sort(arr, function(a, b) table.sort(arr, function(a, b)
return a.position < b.position return a.position < b.position
end) end)
@ -152,6 +156,7 @@ function EffectCaster:Cast()
if i == 1 then if i == 1 then
self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.skill.owner, arr[j],self.skill) self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.skill.owner, arr[j],self.skill)
end end
--LogError("执行effect2"..os.date())
self:takeEffect(self.skill.owner, arr[j], effects, i, self.skill.hitTime, self.skill) self:takeEffect(self.skill.owner, arr[j], effects, i, self.skill.hitTime, self.skill)
end end
end end

View File

@ -12720,5 +12720,78 @@ local passivityList = {
end end
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onBattleRoundChange,nil,nil,role) BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onBattleRoundChange,nil,nil,role)
end, end,
--回合结束时,再次释放一次技能
--a[int]
[480]=function(role,args,id,judge)
local num=args[1]
local onRoundChange=function(round)
if round<1 then
return
end
role:AddSkill(BattleSkillType.Special, false,true, nil,true)
end
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundEndBefore, onRoundChange,nil,nil,role)
end,
--释放技能如果造成减怒,对目标造成 减除怒气*属性[a][b]%的伤害,每回合最多触发[c]次
--a[int],b[float],c[int]
[481]=function(role,args,id,judge)
local f1=args[1]
local v1 =args[2]
local num=args[3]
local triggerNum=0
local isTrigger=false
local curRound=0
local onRageChange=function(caster, target, deltaRage,type,value)
if triggerNum>=num then
return
end
if caster~=role then
return
end
if type~=CountTypeName.Sub then
return
end
if (f1==12 or f1==13) and BattleUtil.CheckIsBoss(target) then
return
end
local val = floor(BattleUtil.FP_Mul(v1*value, target:GetRoleData(BattlePropList[f1])))
BattleUtil.FinalDamageCountShield(nil,role,target,val)
isTrigger=true
end
local onSkillCastEnd=function(_skill)
if _skill and not _skill.isTriggerJudge and judge==1 then
return
end
if _skill.owner==role and (_skill.type==BattleSkillType.Special or _skill.type==BattleSkillType.Extra) then
role.Event:AddEvent(BattleEventName.RecordRageChange,onRageChange,nil,nil,role)
end
end
role.Event:AddEvent(BattleEventName.SkillCast,onSkillCastEnd,nil,nil,role)
local onRoleTurn=function(_skill)
if _skill and not _skill.isTriggerJudge and judge==1 then
return
end
if isTrigger then
triggerNum=triggerNum+1
isTrigger=false
end
role.Event:RemoveEvent(BattleEventName.RecordRageChange,onRageChange,nil,nil,role)
end
role.Event:AddEvent(BattleEventName.SkillCastBefore,onRoleTurn,nil,nil,role)
local onRoundChange=function(round)
BattleLogic.WaitForTrigger(2,function()
triggerNum=0
end)
curRound=round
end
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundStart, onRoundChange,nil,nil,role)
end,
} }
return passivityList return passivityList

View File

@ -286,6 +286,7 @@ function BattleLogic.TurnRound(debugTurn)
return return
else else
-- 上一轮结束 -- 上一轮结束
BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoundEndBefore, CurRound)
BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoundEnd, CurRound) BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoundEnd, CurRound)
end end
end end
@ -430,6 +431,7 @@ function BattleLogic.CheckBattleLogic()
end end
-- 释放技能后,递归交换阵营 -- 释放技能后,递归交换阵营
--RoleLogic
SkillRole:CastSkill() SkillRole:CastSkill()
end end
@ -492,7 +494,9 @@ end
function BattleLogic.WaitForTrigger(delayTime, action) function BattleLogic.WaitForTrigger(delayTime, action)
delayTime = BattleUtil.ErrorCorrection(delayTime) delayTime = BattleUtil.ErrorCorrection(delayTime)
local delayFrame = floor(delayTime * BattleLogic.GameFrameRate + 0.5) local delayFrame = floor(delayTime * BattleLogic.GameFrameRate + 0.5)
if delayFrame == 0 then --0延迟的回调直接调用 if delayFrame == 0 then --0延迟的回调直接调用
action() action()
@ -500,6 +504,7 @@ function BattleLogic.WaitForTrigger(delayTime, action)
end end
local item = actionPool:Get() local item = actionPool:Get()
item[1] = curFrame + delayFrame item[1] = curFrame + delayFrame
--LogError("curFrame"..curFrame+delayFrame)
item[2] = action item[2] = action
tbActionList:Add(item) tbActionList:Add(item)
end end
@ -563,6 +568,7 @@ function BattleLogic.Update()
local action = tbActionList.buffer[index] local action = tbActionList.buffer[index]
if action[1] <= curFrame then if action[1] <= curFrame then
action[2]() action[2]()
-- LogError("执行帧位"..action[1])
actionPool:Put(action) actionPool:Put(action)
tbActionList:Remove(index) tbActionList:Remove(index)
else else

View File

@ -54,7 +54,7 @@ BattleEventName = {
BattleRoundStart = indexAdd(), BattleRoundStart = indexAdd(),
BattleRoundChange = indexAdd(), BattleRoundChange = indexAdd(),
BattleRoundEnd = indexAdd(), BattleRoundEnd = indexAdd(),
BattleRoundEndBefore = indexAdd(),
RoleBeDamaged = indexAdd(), RoleBeDamaged = indexAdd(),
RoleDamage = indexAdd(), RoleDamage = indexAdd(),
RoleBeDamagedBefore = indexAdd(), RoleBeDamagedBefore = indexAdd(),
@ -242,6 +242,7 @@ RoleDataName = {
InitRage = indexAdd(), --初始怒气值 InitRage = indexAdd(), --初始怒气值
KongBonus = indexAdd(), --时空系伤害加成 KongBonus = indexAdd(), --时空系伤害加成
KongReduce = indexAdd(), --时空系伤害减免 KongReduce = indexAdd(), --时空系伤害减免
PlayerAddSkill = indexAdd(),--主角连击
} }
-- 战斗表属性id对应战斗中属性数据 -- 战斗表属性id对应战斗中属性数据

View File

@ -47,7 +47,7 @@ function MSkill:Init(owner, group, index, skillData,playerSkillIndex)
self.attackCount = effectData[4] -- 伤害持续时间内伤害次数 self.attackCount = effectData[4] -- 伤害持续时间内伤害次数
-- 初始化 -- 初始化
local effects = {} local effects = {}
for i=5, #effectData do for i=7, #effectData do
table.insert(effects, effectData[i]) table.insert(effects, effectData[i])
end end
self.effectCaster = EffectCaster:New() self.effectCaster = EffectCaster:New()

View File

@ -190,6 +190,7 @@ function RoleLogic:Init(uid, data, position)
end end
-- 初始怒气值放在被动之后计算,使被动对初始怒气的影响生效 -- 初始怒气值放在被动之后计算,使被动对初始怒气的影响生效
self.Rage = self.Rage + self:GetRoleData(RoleDataName.InitRage)-- 当前怒气值 self.Rage = self.Rage + self:GetRoleData(RoleDataName.InitRage)-- 当前怒气值
--self.readyAction=data.readAction or (ConfigManager.TryGetConfigData(ConfigName.RoleConfig,self.roleId).ReadyAction or 0)
end end
@ -562,15 +563,17 @@ function RoleLogic:AddSkill(type, isRage, isAdd, targets,isTrigger,isLoop)
if self.ctrl_chaos then if self.ctrl_chaos 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}},self.skill[5],self.skill[6]}
effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4], self.skill[5] , self.skill[6] ,{200221,{1,1,1}}}
isTriggerJudge=false isTriggerJudge=false
end end
if self.ctrl_lock then if self.ctrl_lock then
type=BattleSkillType.ChaosNormal type=BattleSkillType.ChaosNormal
--嘲讽普攻使用普攻特效 --嘲讽普攻使用普攻特效
effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4],{200221,{1,1,1}}} --effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4],{200221,{1,1,1}},self.skill[5],self.skill[6]}
isTriggerJudge=false isTriggerJudge=false
effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4],self.skill[5] , self.skill[6] ,{200221,{1,1,1}}}
end end
SkillManager.AddSkill(self, effectData, type, targets, isAdd, isRage,isTriggerJudge,isLoop) SkillManager.AddSkill(self, effectData, type, targets, isAdd, isRage,isTriggerJudge,isLoop)

View File

@ -9,15 +9,17 @@ function Skill:New()
return o return o
end end
function Skill:Init(role, effectData, type, targets, isAdd, isRage,isTriggerJudge) --type 0 异妖 1 点技 2 滑技 function Skill:Init(role, effectData, type, targets, isAdd, isRage,isTriggerJudge,isSpuer) --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, ...}
self.owner = role self.owner = role
self.id = effectData[1] -- 技能ID self.id = effectData[1] -- 技能ID
self.hitTime = effectData[2] -- 效果命中需要的时间 self.hitTime = effectData[2] -- 效果命中需要的时间a EffectCombat.KeyFrame
self.continueTime = effectData[3] -- 命中后伤害持续时间 self.continueTime = effectData[3] -- 命中后伤害持续时间 EffectCombat.SkillDuration
self.attackCount = effectData[4] -- 伤害持续时间内伤害次数 self.attackCount = effectData[4] -- 伤害持续时间内伤害次数 EffectCombat.SkillNumber
self.skillnumberTime = effectData[5] -- 多段伤害的每段触发时间
self.AttackDisplaceOffset = effectData[6] -- 位移終點
self.isTriggePassivity = false -- 是否一个技能只触发一次被动 true每次释放技能只会触发一次 self.isTriggePassivity = false -- 是否一个技能只触发一次被动 true每次释放技能只会触发一次
self.triggerPassivityId={} self.triggerPassivityId={}
self.isKill = false --是否技能击杀目标 self.isKill = false --是否技能击杀目标
@ -33,9 +35,10 @@ function Skill:Init(role, effectData, type, targets, isAdd, isRage,isTriggerJudg
else else
self.isTriggerJudge = true self.isTriggerJudge = true
end end
self.isSpuer=isSpuer
-- 初始化 -- 初始化
local effects = {} local effects = {}
for i=5, #effectData do for i=7, #effectData do
table.insert(effects, effectData[i]) table.insert(effects, effectData[i])
end end
self.effectCaster = EffectCaster:New() self.effectCaster = EffectCaster:New()
@ -63,6 +66,7 @@ end
-- 释放技能 -- 释放技能
-- func 技能释放完成回调 -- func 技能释放完成回调
function Skill:Cast(func) function Skill:Cast(func)
--基本是自身的dispose加回合切换的检测
self.castDoneFunc = func self.castDoneFunc = func
self.isTriggePassivity=false self.isTriggePassivity=false
self.triggerPassivityId={} self.triggerPassivityId={}
@ -79,10 +83,14 @@ function Skill:Cast(func)
return return
end end
--end --end
--具体effect的触发注册延迟造成伤害事件
self.effectCaster:Cast() self.effectCaster:Cast()
--LogError(self.id.."釋放完成"..os:clock())
end end
self.owner.Event:DispatchEvent(BattleEventName.SkillCastBefore, self) self.owner.Event:DispatchEvent(BattleEventName.SkillCastBefore, self)
-- 释放技能开始 -- 释放技能开始
--playview的技能表现层通过这个触发具体的在skillcaster里面的skillcast函数
--LogError("timestart"..os.date())
self.owner.Event:DispatchEvent(BattleEventName.SkillCast, self) self.owner.Event:DispatchEvent(BattleEventName.SkillCast, self)
BattleLogic.Event:DispatchEvent(BattleEventName.SkillCast, self) BattleLogic.Event:DispatchEvent(BattleEventName.SkillCast, self)
-- 只对效果1的目标发送事件效果1是技能的直接伤害目标 -- 只对效果1的目标发送事件效果1是技能的直接伤害目标
@ -90,13 +98,14 @@ function Skill:Cast(func)
role.Event:DispatchEvent(BattleEventName.BeSkillCast, self) role.Event:DispatchEvent(BattleEventName.BeSkillCast, self)
end) end)
--技能的施法时间计算根据当前目标id关联的持续时间取其中时间最长的一个 --技能的施法时间计算根据当前目标id关联的持续时间取其中时间最长的一个
local duration = self.hitTime + self.continueTime --local duration = self.hitTime + self.continueTime+(self.skillnumberTime[1][1]==0 and 0 or self.skillnumberTime[#self.skillnumberTime][2]/1000)
local duration = self.continueTime
-- 结算时间向后延长0.2秒,避免在效果结算完成前就结束了技能释放 -- 结算时间向后延长0.2秒,避免在效果结算完成前就结束了技能释放
local time=1.2 local time=1.2
-- if self.id==1282 then -- if self.id==1282 then
-- time=1 -- time=1
-- end -- end
BattleLogic.WaitForTrigger(duration + time, function() BattleLogic.WaitForTrigger(duration + time+((tonumber(self.skillnumberTime)==nil or self.skillnumberTime[1][1]==0) and 0 or self.skillnumberTime[#self.skillnumberTime][2])/1000, function()
self.owner.Event:DispatchEvent(BattleEventName.SkillCastEnd, self) self.owner.Event:DispatchEvent(BattleEventName.SkillCastEnd, self)
BattleLogic.Event:DispatchEvent(BattleEventName.SkillCastEnd, self) BattleLogic.Event:DispatchEvent(BattleEventName.SkillCastEnd, self)
@ -106,6 +115,7 @@ function Skill:Cast(func)
end) end)
-- 技能结束 -- 技能结束
self:EndSkill() self:EndSkill()
--LogError("end"..os.date())
--技能消息发送完后 iskill 设置为false --技能消息发送完后 iskill 设置为false
self.isKill=false self.isKill=false
end) end)

View File

@ -46,6 +46,22 @@ function this.AddMonsterSkill(skill)
"pos", skill.owner.position, "pos", skill.owner.position,
"type", BattleSkillType.Monster "type", BattleSkillType.Monster
) )
--判断主角连击属性
local addPro=skill.owner:GetRoleData(RoleDataName.Speed)
if skill.owner.position==100 then
BattleUtil.RandomAction(addPro,function()
if skill.type == BattleSkillType.Monster then
local addSkill=skill
table.insert(this.MonsterSkillList, addSkill)
BattleLogManager.Log(
"Add Monster continue Skill",
"camp", skill.owner.camp,
"pos", skill.owner.position,
"type", BattleSkillType.Monster
)
end
end)
end
return skill return skill
end end

View File

@ -1,4 +1,10 @@
v1.0.138 v1.0.141
1.同步战斗提jiao
v1.0.140
1.同步战斗提jiao
v1.0.139
1.同步战斗提jiao
v1.0.138
1.同步战斗提jiao 1.同步战斗提jiao
v1.0.137 v1.0.137
1.同步战斗提交 1.同步战斗提交

View File

@ -575,8 +575,11 @@ public class FightDataUtil {
} }
private static LuaValue getEffectArgs(float[] effects) { private static LuaValue getEffectArgs(float[] effects) {
int sizeX = effects.length;
LuaValue effectValue = new LuaTable(); LuaValue effectValue = new LuaTable();
if (effects == null){
return effectValue;
}
int sizeX = effects.length;
for (int j = 0; j < sizeX; j++) { for (int j = 0; j < sizeX; j++) {
effectValue.rawset(j + 1, LuaValue.valueOf(effects[j])); effectValue.rawset(j + 1, LuaValue.valueOf(effects[j]));
} }
@ -585,8 +588,13 @@ public class FightDataUtil {
private static List<LuaValue> getEffectArgs(int[][] effects) { private static List<LuaValue> getEffectArgs(int[][] effects) {
List<LuaValue> effectValueList = new ArrayList<>(); List<LuaValue> effectValueList = new ArrayList<>();
if (effects == null){
return effectValueList;
}
int sizeY = effects.length; int sizeY = effects.length;
if (sizeY > 0) { if (sizeY == 0) {
return effectValueList;
}
for (int[] effect : effects) { for (int[] effect : effects) {
int sizeX = effect.length; int sizeX = effect.length;
LuaValue effectValue = new LuaTable(); LuaValue effectValue = new LuaTable();
@ -595,7 +603,6 @@ public class FightDataUtil {
} }
effectValueList.add(effectValue); effectValueList.add(effectValue);
} }
}
return effectValueList; return effectValueList;
} }