diff --git a/luafight/Modules/Battle/Logic/Base/Effect.lua b/luafight/Modules/Battle/Logic/Base/Effect.lua index 6c946fe5f..494d6ab39 100644 --- a/luafight/Modules/Battle/Logic/Base/Effect.lua +++ b/luafight/Modules/Battle/Logic/Base/Effect.lua @@ -791,14 +791,14 @@ local effectList = { end end) end, - --造成[a]*[b]%的伤害(真实伤害)(目标最大生命值伤害总上限为施法者5倍攻击) + --造成[a]*[b]%的伤害(真实伤害)(目标最大生命值伤害总上限为施法者2.5倍攻击) --a[属性],b[float] [48] = function(caster, target, args, interval) local pro = args[1] local d = args[2] caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target) BattleLogic.WaitForTrigger(interval, function () - BattleUtil.ApplyDamage(caster, target, min(floor(caster:GetRoleData(propertyList[pro])*d), floor(caster:GetRoleData(RoleDataName.Attack)*5))) + BattleUtil.ApplyDamage(caster, target, min(floor(caster:GetRoleData(propertyList[pro])*d), floor(caster:GetRoleData(RoleDataName.Attack)*2.5))) end) end, --造成[a]%的[b]伤害,提升自身下个技能[c]%的伤害 @@ -1222,7 +1222,7 @@ local effectList = { end) end end, - --造成[a]%的[b]伤害,附带持续伤害,每秒造成目标最大生命值[c]%的真实伤害,持续[d]秒。(目标最大生命值伤害总上限为施法者5倍攻击) + --造成[a]%的[b]伤害,附带持续伤害,每秒造成目标最大生命值[c]%的真实伤害,持续[d]秒。(目标最大生命值伤害总上限为施法者2.5倍攻击) --a[float],b[伤害类型],c[float],d[int] [68] = function(caster, target, args, interval) local f1 = args[1] @@ -1232,7 +1232,7 @@ local effectList = { caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target) BattleLogic.WaitForTrigger(interval, function () BattleUtil.CalDamage(caster, target, dt, f1) - local dot = Buff.Create(caster, BuffName.DOT, f3, 1, 0, min(floor(target:GetRoleData(RoleDataName.MaxHp)*f2), floor(caster:GetRoleData(RoleDataName.Attack)*5)), 1) + local dot = Buff.Create(caster, BuffName.DOT, f3, 1, 0, min(floor(target:GetRoleData(RoleDataName.MaxHp)*f2), floor(caster:GetRoleData(RoleDataName.Attack)*2.5)), 1) dot.isRealDamage = true target:AddBuff(dot) end) @@ -1557,7 +1557,7 @@ local effectList = { end) end) end, - --施加[a]的[b]%护盾,持续[c]秒。护盾被击破时,对敌方全体造成最大生命值[d]%的伤害。(目标最大生命值伤害总上限为施法者5倍攻击) + --施加[a]的[b]%护盾,持续[c]秒。护盾被击破时,对敌方全体造成最大生命值[d]%的伤害。(目标最大生命值伤害总上限为施法者2.5倍攻击) --a[属性],b[float],c[int],d[float] [84] = function(caster, target, args, interval) local pro1 = args[1] @@ -1570,7 +1570,7 @@ local effectList = { if buff == shield and buff.framePass < buff.frameDuration then --护盾被击破 local arr = BattleUtil.ChooseTarget(target, 20000) for i=1, #arr do - BattleUtil.ApplyDamage(target, arr[i], min(floor(arr[i]:GetRoleData(RoleDataName.MaxHp)*f3), caster:GetRoleData(RoleDataName.Attack)*5)) + BattleUtil.ApplyDamage(target, arr[i], min(floor(arr[i]:GetRoleData(RoleDataName.MaxHp)*f3), caster:GetRoleData(RoleDataName.Attack)*2.5)) end end end diff --git a/luafight/Modules/Battle/Logic/Base/Passivity.lua b/luafight/Modules/Battle/Logic/Base/Passivity.lua index 530b0b143..8a0311d2d 100644 --- a/luafight/Modules/Battle/Logic/Base/Passivity.lua +++ b/luafight/Modules/Battle/Logic/Base/Passivity.lua @@ -993,7 +993,7 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.RoleHit, OnDamage) end, - --造成暴击时,额外造成目标最大生命值[a]%的伤害。(目标最大生命值伤害总上限为施法者5倍攻击) + --造成暴击时,额外造成目标最大生命值[a]%的伤害。(目标最大生命值伤害总上限为施法者2.5倍攻击) --a[float] [56] = function(role, args) local f1 = args[1] @@ -1004,7 +1004,7 @@ local passivityList = { if lastTrigger > 1 then --加入限定避免循环触发 return end - BattleUtil.ApplyDamage(role, defRole, math.min(floor(defRole:GetRoleData(RoleDataName.MaxHp) * f1), floor(role:GetRoleData(RoleDataName.Attack)*5))) + BattleUtil.ApplyDamage(role, defRole, math.min(floor(defRole:GetRoleData(RoleDataName.MaxHp) * f1), floor(role:GetRoleData(RoleDataName.Attack)*2.5))) lastTrigger = 0 end role.Event:AddEvent(BattleEventName.RoleCrit, OnRoleCrit) @@ -1242,7 +1242,7 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.RoleBeHit, OnBeHit) end, - --造成暴击时,额外造成目标最大生命值[a]%的伤害。造成伤害时,有[a]的概率立即造成攻击[b]%的伤害,该伤害造成的暴击伤害不会触发额外最大生命值伤害。(效果55+效果56)(目标最大生命值伤害总上限为施法者5倍攻击) + --造成暴击时,额外造成目标最大生命值[a]%的伤害。造成伤害时,有[a]的概率立即造成攻击[b]%的伤害,该伤害造成的暴击伤害不会触发额外最大生命值伤害。(效果55+效果56)(目标最大生命值伤害总上限为施法者2.5倍攻击) --a[float],b[float],c[float] [69] = function(role, args) local f1 = args[1] @@ -1256,7 +1256,7 @@ local passivityList = { return end if bCrit then - BattleUtil.ApplyDamage(role, defRole, math.min(floor(defRole:GetRoleData(RoleDataName.MaxHp) * f1), floor(role:GetRoleData(RoleDataName.Attack)*5))) + BattleUtil.ApplyDamage(role, defRole, math.min(floor(defRole:GetRoleData(RoleDataName.MaxHp) * f1), floor(role:GetRoleData(RoleDataName.Attack)*2.5))) else BattleUtil.RandomAction(f2, function () BattleUtil.ApplyDamage(role, defRole, floor(role:GetRoleData(RoleDataName.Attack) * f3)) diff --git a/luafight/Modules/Battle/Logic/BattleLogic.lua b/luafight/Modules/Battle/Logic/BattleLogic.lua index 9bd24c455..a8602ef71 100644 --- a/luafight/Modules/Battle/Logic/BattleLogic.lua +++ b/luafight/Modules/Battle/Logic/BattleLogic.lua @@ -169,8 +169,9 @@ function BattleLogic.StartOrder() enemyTeamSkillList[i]=nil end for i=1, #fightData.enemyData[BattleLogic.CurOrder].teamSkill do - enemyTeamSkillList[i] = skillPool:Get() - enemyTeamSkillList[i]:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i], 0) + local skill = skillPool:Get() + skill:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i], 0) + enemyTeamSkillList[skill.cd] = skill end for i=1, #fightData.enemyData[BattleLogic.CurOrder].teamPassive do for j=1, #fightData.enemyData[BattleLogic.CurOrder].teamPassive[i] do diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 27ec42451..5326414f2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -2129,7 +2129,7 @@ public class MapLogic { fightEndResponse.build(); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false); - RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), fightId); + RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId()); } public void getMainLevelRankInfo(ISession session) throws Exception { @@ -2151,7 +2151,7 @@ public class MapLogic { .setUid(uidTmp) .setLevel(playerInfoManager.getLevel()) .setName(playerInfoManager.getNickName()) - .setFightId(score) + .setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId()) .setHead(playerInfoManager.getHead()) .setRank(rank++) .setTotalForce(userTmp.getPlayerInfoManager().getMaxForce()) @@ -2188,6 +2188,7 @@ public class MapLogic { if(myRank==-1){ myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue(); } + score= SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId(); } User user = UserManager.getUser(uid); PlayerManager playerInfoManager = user.getPlayerInfoManager(); diff --git a/tablemanager/src/main/java/config/SMainLevelConfig.java b/tablemanager/src/main/java/config/SMainLevelConfig.java index e7486f903..9be04ff3e 100644 --- a/tablemanager/src/main/java/config/SMainLevelConfig.java +++ b/tablemanager/src/main/java/config/SMainLevelConfig.java @@ -3,6 +3,7 @@ package config; import manager.STableManager; import manager.Table; +import java.util.HashMap; import java.util.Map; @Table(name ="MainLevelConfig") @@ -41,15 +42,19 @@ public class SMainLevelConfig implements BaseConfig { private int virtureId; //虚拟id,关卡是自增的。 public static Map config; + public static Map sMainLevelConfigByVirtureIdMap; @Override public void init() throws Exception { Map configTmp = STableManager.getConfig(SMainLevelConfig.class); + Map SMainLevelConfigByVirtureIdMapTmp =new HashMap<>(); for(SMainLevelConfig sMainLevelConfig : configTmp.values()){ int id = sMainLevelConfig.getId(); sMainLevelConfig.setVirtureId(10_000_000*(id%10) + id); + SMainLevelConfigByVirtureIdMapTmp.put(sMainLevelConfig.getVirtureId(),sMainLevelConfig); } config=configTmp; + sMainLevelConfigByVirtureIdMap=SMainLevelConfigByVirtureIdMapTmp; }