1、战斗同步

2、超值连充重置
back_recharge
duhui 2023-04-21 14:45:13 +08:00
parent 430d76aadf
commit 8200404a08
13 changed files with 240 additions and 321 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

@ -2890,12 +2890,25 @@ local effectList = {
BattleUtil.FinalDamageCountShield(nil,caster, target,damage)
end)
end,
--复活目标,并恢复血量[a]%
--a[float]
--复活目标,并恢复血量[a]%,回复[b]点怒气,并无敌[c]回合
--a[float],b[int],c[int]
[147]=function(caster, target, args, interval, skill)
local pro=args[1]
local num=args[2]
local round=args[3]
target.isRealDead=true
target:SetRelive(pro, caster)
if num then
BattleUtil.CalRage(caster,target,num,CountTypeName.Add)
end
if round then
BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime, function () --延迟一帧移除事件,防止触发帧和结束帧为同一帧时,被动未移除
target:AddBuff(Buff.Create(caster, BuffName.Shield,round, ShieldTypeName.AllReduce, 0, 0))
end)
end
end,
--造成[a]%的[b]伤害,造成伤害的[c]%用于医疗生命值最低的队友。(攻击目标为多人治疗不重复)
--a[float],b[伤害类型],c[float]
@ -3088,7 +3101,18 @@ local effectList = {
BattleUtil.FinalDamage(nil, caster, target,addDamage, nil, 0, nil, true)
end)
end,
--造成自身损失生命[a]%的间接伤害
--a[float]
[158] = function(caster, target, args, interval, skill)
local pro = args[1]
BattleLogic.WaitForTrigger(interval, function ()
local value=(caster:GetRoleData(RoleDataName.MaxHp)-caster:GetRoleData(RoleDataName.Hp))*pro
if value<=0 then
return
end
BattleUtil.FinalDamage(nil, caster, target,floor(value), nil, 0, nil, true)
end)
end,
}
return effectList

View File

@ -12219,5 +12219,85 @@ local passivityList = {
end
end,
--行动前,如果自身生命百分比为最低,则给自身[a]属性改变[b][c]%,持续[d]回合,[e]目标选择1 我方 2 全场)
--a[int],b[int],c[float],d[int],e[int]
[463] = function(role, args)
local pro = args[1]
local ct = args[2]
local v1 = args[3]
local r1 = args[4]
local type=args[5]
local trigger=nil
local onRoleTurnStart=function()
local list=nil
if type==1 then
list = RoleManager.Query(function(v) return v.camp == role.camp end)
else
list = RoleManager.Query(function(v) return true end)
end
--生命最少改成生命百分比最少 2020/09/29 by王振兴
BattleUtil.SortByHpFactor(list, 1)
if list[1]==role then
role:AddBuff(Buff.Create(role, BuffName.PropertyChange, r1, BattlePropList[pro], v1, ct))
end
end
role.Event:AddEvent(BattleEventName.RoleTurnStart,onRoleTurnStart,nil,nil,role)
end,
-- 每当敌方时空孙悟空目标死亡,自身会额外行动一次,每层标记回复[a]点怒气,附加[b]属性[c]%的御甲,自身[d]属性改变[e][f]%,持续[g]回合(所有参数都不填,只生效额外行动)
-- a[int],b[int],c[float],d[int],e[int],f[float],g[int]
[464] = function(role, args)
local num = args[1]
local p1 = args[2]
local v1 = args[3]
local p2 = args[4]
local ct = args[5]
local v2 = args[6]
local r1 = args[7]
-- 死亡数量
local onBattleRoleDead = function(defRole)
local list2=BattleLogic.BuffMgr:GetAllBuffByFunc(function(buff) return buff.type==BuffName.BreakArmor and buff.signType==6 and buff.target==defRole end)
if list2 and #list2>0 then
BattleLogic.InsertSkillRole(role)
if num and p1 and v1 and p2 and ct and v2 and r1 then
local len=#list2
BattleUtil.CalRage(role,role,num*len,CountTypeName.Add)
local blood=floor(BattleUtil.FP_Mul(role:GetRoleData(BattlePropList[p1]),v1,len))
BattleUtil.AddBlood(role,blood)
role:AddBuff(Buff.Create(role, BuffName.PropertyChange, r1, BattlePropList[p2], v2*len, ct))
end
end
end
BattleLogic.Event:AddEvent(BattleEventName.BattleRoleDead, onBattleRoleDead,nil,nil,role)
end,
--行动前,消耗自身当前[a]%的生命,并将消耗生命的[b]%转化为御甲,受到来自治疗神将的治疗不会回复生命,改成附加治疗量[c]%的御甲
--a[float],b[float],c[float]
[465] = function(role, args)
local v1 = args[1]
local v2 = args[2]
local v3 = args[3]
local onRoleTurnStart=function()
local curHp=role:GetRoleData(RoleDataName.Hp)
if curHp<=1 then
return
end
local hp = floor(BattleUtil.FP_Mul(curHp,v1))
role.data:SubValue(RoleDataName.Hp, hp)
local blood = floor(hp*v2)
BattleUtil.AddBlood(role,blood)
end
role.Event:AddEvent(BattleEventName.RoleTurnStart,onRoleTurnStart,nil,nil,role)
local onTreatVoid=function(func,treat,caster)
if caster.job==1 then
BattleUtil.AddBlood(role,floor(treat*v3))
func(true)
else
func(false)
end
end
role.Event:AddEvent(BattleEventName.CheckTreatVoid,onTreatVoid,nil,nil,role)
end,
}
return passivityList

View File

@ -606,6 +606,7 @@ function BattleLogic.BattleEnd(result)
local v1 = HardStageCondition.CheckCondition(harConfig.ConditionType,harConfig.ConditionValue)
table.insert(levelStarRecord,hardStageConfig.ConditionValue[i])
table.insert(levelStarRecord,v1)
print("k=="..hardStageConfig.ConditionValue[i].." v=="..v1)
end
end
end

View File

@ -52,7 +52,7 @@ end
function Blood:CountBloodValue(damage,atkRole)
local finalDamage=0
if self.target==nil then
return
return damage
end
self.bloodValue=self.bloodValue-damage
if self.bloodValue<=0 then

View File

@ -2,7 +2,7 @@ BreakArmor = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function BreakArmor:SetData(...)
self.signType, --1 破军 2.迷魂 3. 4.主角状态 5.仇视
self.signType, --1 破军 2.迷魂 3. 4.主角状态 5.仇视 6.机械猴子标记
self.signValue1,
self.signValue2=...
-- 刷新排序等级

View File

@ -204,6 +204,7 @@ BattleEventName = {
RoleAddBuffCheckBan = indexAdd(),--角色添加buff检测是否被禁止
WeaponSkillCast = indexAdd(), --神兵技能释放
CheckFalseNoDead = indexAdd(), --检测伪不灭
CheckTreatVoid = indexAdd(), --检测治疗是否无效
}
BattleMaxFrame = 1000000
@ -237,6 +238,8 @@ RoleDataName = {
DaoReduce = indexAdd(), --道系伤害减免
CritDamageReduce = indexAdd(), --暴击伤害减免
InitRage = indexAdd(), --初始怒气值
KongBonus = indexAdd(), --时空系伤害加成
KongReduce = indexAdd(), --时空系伤害减免
}
-- 战斗表属性id对应战斗中属性数据
@ -265,6 +268,8 @@ BattlePropList = {
RoleDataName.FoReduce,
RoleDataName.YaoReduce,
RoleDataName.DaoReduce,
RoleDataName.KongBonus,
RoleDataName.KongReduce,
RoleDataName.CritDamageReduce,
}
@ -387,7 +392,8 @@ BattleRoleElementType = {
REN = 1,
FO = 2,
YAO = 3,
DAO = 4
DAO = 4,
Kong = 5,
}
BattleArtFontType = {
@ -405,11 +411,13 @@ BattleMieProp = {
[BattleRoleElementType.REN] = RoleDataName.RenBonus,
[BattleRoleElementType.FO] = RoleDataName.FoBonus,
[BattleRoleElementType.YAO] = RoleDataName.YaoBonus,
[BattleRoleElementType.DAO] = RoleDataName.DaoBonus
[BattleRoleElementType.DAO] = RoleDataName.DaoBonus,
[BattleRoleElementType.Kong] = RoleDataName.KongBonus
}
BattleKangProp = {
[BattleRoleElementType.REN] = RoleDataName.RenReduce,
[BattleRoleElementType.FO] = RoleDataName.FoReduce,
[BattleRoleElementType.YAO] = RoleDataName.YaoReduce,
[BattleRoleElementType.DAO] = RoleDataName.DaoReduce
[BattleRoleElementType.DAO] = RoleDataName.DaoReduce,
[BattleRoleElementType.Kong] = RoleDataName.KongReduce
}

View File

@ -1329,7 +1329,14 @@ function BattleUtil.FinalTreat(castRole, targetRole, value, baseFactor,skill)
--baseTreat = BattleUtil.CountChangeList(baseTreat, cl)
-- 取整
local baseTreat = floor(baseTreat + 0.5)
local isVoid=false
local treatVoidFunc=function(_void)
isVoid=_void
end
targetRole.Event:DispatchEvent(BattleEventName.CheckTreatVoid,treatVoidFunc,baseTreat,castRole)
if isVoid then
return
end
local treat = min(baseTreat, maxHp - hp)
if treat > 0 then
targetRole.data:AddValue(RoleDataName.Hp, treat)
@ -1407,7 +1414,14 @@ function BattleUtil.ApplyTreat(castRole, targetRole, value, baseFactor,critDamag
-- 取整
local baseTreat = floor(baseTreat + 0.5)
local isVoid=false
local treatVoidFunc=function(_void)
isVoid=_void
end
targetRole.Event:DispatchEvent(BattleEventName.CheckTreatVoid,treatVoidFunc,baseTreat,castRole)
if isVoid then
return
end
local treat = min(baseTreat, maxHp - hp)
if treat > 0 then
targetRole.data:AddValue(RoleDataName.Hp, treat)

View File

@ -7,8 +7,8 @@ local function isFactor(name)
end
function RoleData.New()
local instance = {role=0, data={0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0},
orginData={0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0}}
local instance = {role=0, data={0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0},
orginData={0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0}}
setmetatable(instance, RoleData)
return instance
end

View File

@ -1,281 +1,46 @@
v1.0.127
1.被动327修改
v1.0.126
1. 注释无用log
v1.0.125
1. 添加神兵战斗
v1.0.124
1. 被动441修改
v1.0.123
1. 修改困难副本星级条件
v1.0.122
1. 添加女娲,阎罗王新英雄
v1.0.121
1. 战斗添加回合最大伤害治疗限制
v1.0.120
1. 添加金翅大鹏变身卡
v1.0.119
1. 添加法相相关被动 454被动
v1.0.118
1. 添加152效果
v1.0.117
1. 添加151效果
2. 御甲也对间接伤害生效
v1.0.116
1. 187被动治疗神将也会生效
v1.0.115
1.添加被动444445
v1.0.114
1.被动273189184修改
master_zh_test同步数据表2022_09_02_16_53_59
master_zh_test同步数据表2022_08_24_16_07_52
v1.0.113
1.被动387 437修改
master_zh_test同步数据表2022_08_17_18_26_38
master_zh_test同步数据表2022_08_10_18_33_50
master_zh_test同步数据表2022_08_10_17_37_10
master_zh_test同步数据表2022_08_10_15_22_09
master_zh_test同步数据表2022_08_03_17_06_59
v1.0.112
1.online_special 同步到zh_test
v1.0.111
1.438修改
v1.0.110
1.新增神印
master_zh_test同步数据表2022_03_29_17_06_53
master_zh_test同步数据表2022_03_22_11_35_14
master_zh_test同步数据表2022_03_22_11_35_01
master_zh_test同步数据表2022_03_21_16_48_11
v1.0.109
1.新增神系英雄技能被动
master_zh_test同步数据表2022_03_14_18_15_06
master_zh_test同步数据表2022_03_14_17_24_10
v1.0.108
1.新增429 430 431被动
master_zh_test同步数据表2022_03_08_16_52_49
v1.0.107
1.新增427 428被动
master_zh_test同步数据表2022_03_07_17_48_07
master_zh_test同步数据表2022_03_02_15_24_08
v1.0.106
1.新增425 426被动
master_zh_test同步数据表2022_03_01_15_02_06
v1.0.105
1.新增425 426被动
v1.0.104
1.被动375修改
master_zh_test同步数据表2022_02_22_19_20_35
master_zh_test同步数据表2022_02_22_18_59_21
v1.0.103
1.被动226 423 424修改
master_zh_test同步数据表2022_02_22_10_34_06
master_zh_test同步数据表2022_02_15_15_03_42
v1.0.102
1.效果108修改
2.被动356修改 新增422
master_zh_test同步数据表2022_02_08_14_14_42
v1.0.101
1.修复姑获鸟神魂五对所有人生效的问题
v1.0.100
1.御甲初始化修改
master_zh_test同步数据表2022_01_24_18_51_19
v1.0.99
1.御甲显示修改
v1.0.98
1.被动414修改
master_zh_test同步数据表2022_01_24_10_59_41
master_zh_test同步数据表2022_01_18_15_41_40
v1.0.97
1.护盾buff修改
master_zh_test同步数据表2022_01_17_16_56_13
master_zh_test同步数据表2022_01_17_16_30_59
master_zh_test同步数据表2022_01_15_19_12_17
v1.0.96
1.被动417-421 白金法宝
master_zh_test同步数据表2022_01_11_16_23_47
master_zh_test同步数据表2022_01_10_18_57_57
v1.0.95
1.新增被动414-417
2.添加御甲修改
v1.0.94
1.被动283修改
v1.0.93
1.战斗结束获取队伍剩余角色信息接口修改
master_zh_test同步数据表2021_12_28_09_56_49
master_zh_test同步数据表2021_12_24_18_32_21
v1.0.92
1.新增412被动 56被动修改
master_zh_test同步数据表2021_12_21_18_13_54
v1.0.91
1.护盾buff修改
2.鲸吞魂印修改
v1.0.90
1、修复RoleManager table.removebyvalue方法空报错
master_zh_test同步数据表2021_12_14_12_03_26
v1.0.89
1.第五期神魂
2.第二期变身卡
master_zh_test同步数据表2021_12_13_18_06_46
v1.0.88
1.被动257修改
2.不灭修改
v1.0.87
1.被动257修改
master_zh_test同步数据表2021_12_07_17_09_58
master_zh_test同步数据表2021_12_07_16_56_46
v1.0.86
1 战斗驱动逻辑修改 回合转换添加延时减半
2.被动257修改
v1.0.85
1 战斗驱动逻辑修改 回合转换添加延时减半
v1.0.84
1 战斗驱动逻辑修改 回合转换添加延时
master_zh_test同步数据表2021_12_06_19_02_28
v1.0.83
1 第四期神魂添加
master_zh_test同步数据表2021_11_30_12_06_26
v1.0.82
1 目标选择逻辑添加
master_zh_test同步数据表2021_11_29_19_48_14
v1.0.81
1、效果137修改
master_zh_test同步数据表2021_11_27_22_26_12
v1.0.80
1、同步战斗逻辑
master_zh_test同步数据表2021_11_23_11_29_17
v1.0.79
1、被动391修改 我方流血显示修改
master_zh_test同步数据表2021_11_22_18_00_26
v1.0.78
1、被动112 258 360修改提交
2. 伤害公式修改
3.战斗超时 pvp添加战斗类型
v1.0.77
1、第三批神魂提交
v1.0.76
1、修复前后端战斗数据格式不一致导致的结果不一致
master_zh_test同步数据表2021_11_16_11_07_25
v1.0.75
1添加不处理增伤的伤害接口
master_zh_test同步数据表2021_11_15_17_10_47
v1.0.74
1第二期神魂技能
master_zh_test同步数据表2021_11_08_18_01_19
v1.0.73
1被动285修改
master_zh_test同步数据表2021_11_08_17_48_59
v1.0.72
1第一期神魂技能
v1.0.71
1灵兽技能检测添加初始化
2.追加技能特效修改
v1.0.70
1、添加神魂被动技能
master_zh_test同步数据表2021_11_01_14_07_31
master_zh_test同步数据表2021_10_26_10_10_26
master_zh_test同步数据表2021_10_25_18_57_36
v1.0.69
1、战斗公式修改
master_zh_test同步数据表2021_10_22_18_57_18
v1.0.68
1、添加主角技能
2. 被动199修改
master_zh_test同步数据表2021_10_18_11_00_42
master_zh_test同步数据表2021_10_16_19_07_28
master_zh_test同步数据表2021_10_16_19_06_48
v1.0.67
1、被动344添加空判断
2. 战斗力公式修改
master_zh_test同步数据表2021_10_12_15_58_23
master_zh_test同步数据表2021_10_12_10_25_47
master_zh_test同步数据表2021_10_11_18_25_43
v1.0.66
1、被动312修改
master_zh_test同步数据表2021_10_09_18_47_41
master_zh_test同步数据表2021_10_09_18_46_50
v1.0.65
1、被动116 258 281 312 344 250修改
2. 精卫借的怒气不会回复怒气
3. 添加不处理增伤被动的方法
master_zh_test同步数据表2021_09_28_17_45_03
v1.0.64
1、353 351 137 被动修改
2. 添加获取没有出发不灭的目标
master_zh_test同步数据表2021_09_27_18_41_38
1. 同步战斗
v1.0.63
1、353被动修改
1. 同步战斗
v1.0.62
1、添加御甲buff
2.添加最后一期紫府神印,添加白金装备被动 觉醒被动修改
master_zh_test同步数据表2021_09_26_20_35_14
master_zh_test同步数据表2021_09_18_21_14_36
master_zh_test同步数据表2021_09_18_18_42_35
1. 同步战斗
v1.0.61
1、技能是否能释放 添加是否有技能目标判断
2.被动196 200 188 修改
master_zh_test同步数据表2021_09_17_16_21_53
master_zh_test同步数据表2021_09_15_20_05_28
master_zh_test同步数据表2021_09_15_14_23_26
master_zh_test同步数据表2021_09_14_15_46_46
master_zh_test同步数据表2021_09_14_11_51_05
1. 同步战斗
v1.0.60
1、被动56修改
master_zh_test同步数据表2021_09_11_18_04_19
1. 同步战斗
v1.0.59
1、被动261 修改
master_zh_test同步数据表2021_09_10_18_24_51
1. 同步战斗
v1.0.58
1、修复方法缺失报错
1. 被动414修改
2.御甲显示修改
v1.0.57
1、尝试修复孙悟空大招不会增加伤害的问题
2、添加用于debug的log
master_zh_test同步数据表2021_09_07_11_00_31
1. 护盾buff修改
v1.0.56
1.选生命百分比最少目标逻辑修改 去掉有不灭单位
2. 死亡不把怒气显示清空
3.被动99 307 选目标逻辑修改
1. 被动417-421
v1.0.55
1.被动263 269 274 332 112 145 修改
2. 添加战斗日志
v1.0.54
1. 被动91 被动115 160修改
2. Dot类buff清除逻辑修改
master_zh_test同步数据表2021_08_27_18_25_18
master_zh_test同步数据表2021_08_21_16_34_06
v1.0.54
1. 被动141 310 283 330 336修改
master_zh_test同步数据表2021_08_02_19_27_29
1. 56被动修改
v1.0.54
1. 新加被动412
v1.0.53
1. 随机种子修改
master_zh_test同步数据表2021_07_31_17_55_16
master_zh_test同步数据表2021_07_31_17_54_20
1. 神魂第一期英雄技能添加
v1.0.52
1. 死亡技能不会被控制
2.追加技能是否触发特性修改
master_zh_test同步数据表2021_07_26_11_10_56
1. 灵兽技能检测修改
v1.0.51
1. 被动292 修改
1. 山河社稷图星级检测修改
v1.0.50
1. 被动292 319修改
master_zh_test同步数据表2021_07_13_18_19_09
master_zh_test同步数据表2021_07_10_20_33_05
1. 灵兽技能触发机制修改
v1.0.49
1. 同步客户端逻辑
1. 同步dev分支战斗逻辑
v1.0.48
1. 新增紫府神印被动效果
1. 同步dev分支战斗逻辑
v1.0.47
1. 新增英雄觉醒被动 及 困难副本被动 效果
master_zh_test同步数据表2021_06_30_07_33_23
master_zh_test同步数据表2021_06_28_13_40_30
1. 同步dev分支战斗逻辑
v1.0.46
1、同步数据表
1. 同步dev分支战斗逻辑
v1.0.45
1. 【战斗】修改免疫控制效果清除提示
1. 新增紫府神印被动效果
v1.0.44
1. 【战斗】修复群体性的免疫效果不会正常消失的问题
1. 新增英雄觉醒被动 及 困难副本被动 效果
v1.0.43
1. 被动200修改
v1.0.42
@ -420,4 +185,4 @@ v1.0.1
v1.0.0
1、创建战斗版本文件
2、灵兽技能加入
2、灵兽技能加入

View File

@ -2,18 +2,17 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.SuperBoxEvent;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import config.SActivityRewardConfig;
import config.SGlobalActivity;
import rpc.protocols.CommonProto;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -137,4 +136,32 @@ class NewRechargeSumDayActivity extends AbstractActivity {
return 0;
}
/**
*
* @param uid
* @param activityId
* @param activityMission
* @return
*/
@Override
public boolean checkActivityMissionFinishAndTake(int uid,int activityId,ActivityMission activityMission) throws Exception {
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
if (activityProgressInfoMap.isEmpty()) {
return false;
}
User user = UserManager.getUser(uid);
List<CommonProto.ActivityInfo.MissionInfo> allMissInfo = getAllMissInfo(user, activityMission);
for (CommonProto.ActivityInfo.MissionInfo info : allMissInfo) {
if (info.getState() != 2) {
return false;
}
}
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
if(sGlobalActivity.getResetGrade()==0){
activityMission.setActivityState(ActivityType.FINISH_STATE);
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(uid,activityId,ActivityType.FINISH_STATE));
}
return true;
}
}