back_recharge
zhangshanxue 2019-10-25 15:34:53 +08:00
commit ccc0b8512a
5 changed files with 21 additions and 14 deletions

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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();

View File

@ -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<Integer, SMainLevelConfig> config;
public static Map<Integer, SMainLevelConfig> sMainLevelConfigByVirtureIdMap;
@Override
public void init() throws Exception {
Map<Integer, SMainLevelConfig> configTmp = STableManager.getConfig(SMainLevelConfig.class);
Map<Integer, SMainLevelConfig> 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;
}