diff --git a/luafight/Modules/Battle/Logic/Base/Passivity.lua b/luafight/Modules/Battle/Logic/Base/Passivity.lua index 6a106f4d1..b35f98d37 100644 --- a/luafight/Modules/Battle/Logic/Base/Passivity.lua +++ b/luafight/Modules/Battle/Logic/Base/Passivity.lua @@ -129,7 +129,7 @@ local passivityList = { BattleUtil.RandomAction(f1, function () local arr = BattleUtil.ChooseTarget(role, 10001) if arr[1] then - arr[1]:AddBuff(Buff.Create(role, BuffName.PropertyChange, f3, propertyList[pro1], floor(role:GetRoleData(propertyList[pro2]) * f2), 1)) + arr[1]:AddBuff(Buff.Create(role, BuffName.PropertyChange, f3, propertyList[pro2], floor(role:GetRoleData(propertyList[pro1]) * f2), 1)) end end) end diff --git a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua index ed9779fd0..70c28912f 100644 --- a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -194,12 +194,12 @@ function BattleUtil.ApplyDamage(atkRole, defRole, damage, bCrit, damageType, isD atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType) defRole.Event:DispatchEvent(BattleEventName.RoleBeDamaged, atkRole, damage, bCrit, finalDmg, damageType) if bCrit then - atkRole.Event:DispatchEvent(BattleEventName.RoleCrit, defRole) - defRole.Event:DispatchEvent(BattleEventName.RoleBeCrit, atkRole) + atkRole.Event:DispatchEvent(BattleEventName.RoleCrit, defRole, damage, bCrit, finalDmg, damageType) + defRole.Event:DispatchEvent(BattleEventName.RoleBeCrit, atkRole, damage, bCrit, finalDmg, damageType) end if not isDot then - atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole) - defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole) + atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType) + defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType) end end return finalDmg diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index 9781c2327..7df7414c4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -17,4 +17,5 @@ public interface GlobalGm { int SET_TOWER_NUMBER = 14;//设置试炼副本进入层数 int TREASURE_SCORE = 15;//生成孙龙宝藏积分 + int MONSTER_JUMP = 16;//跳到兽潮层 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 677b65280..b7c2d6fda 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -210,6 +210,9 @@ public class GMRequestHandler extends BaseHandler{ case GlobalGm.SET_TOWER_NUMBER: MapLogic.getInstance().setTower(iSession.getUid(),prarm1); break; + case GlobalGm.MONSTER_JUMP: + cUser.getMapManager().setLastMonsterAttack(prarm1); + break; case GlobalGm.TREASURE_SCORE: treasureScore(iSession,prarm1); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index a2f5f5066..3ca96fa57 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -256,9 +256,10 @@ public class GlobalDataManaager { user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0); FriendLogic.getInstance().refreshState(session); int sendDays = user.getPlayerInfoManager().getSendDays(); - int differentDays = TimeUtils.differentDaysByHour(System.currentTimeMillis(), user.getPlayerInfoManager().getLoginTime(), 5); - PlayerLogic.getInstance().sendTestWelfareMail(user,sendDays,sendDays+differentDays); - user.getPlayerInfoManager().setSendDays(sendDays+differentDays); + int differentDays = TimeUtils.differentDaysByHour( user.getPlayerInfoManager().getLoginTime(),System.currentTimeMillis(), 5); + int days = sendDays + differentDays; + PlayerLogic.getInstance().sendTestWelfareMail(user,sendDays+1,sendDays+differentDays); + user.getPlayerInfoManager().setSendDays(days); // MapLogic.getInstance().towerAutoReset(session,fBuilder); if(fBuilder!=null){ fBuilder.setSignInInfo(CommonProto.SignInInfo.newBuilder().setDays(user.getPlayerInfoManager().getSign()+1).setState(user.getPlayerInfoManager().getSignTotay()).build()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index f0c502c0a..99683cb54 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -29,6 +29,7 @@ public interface ActivityType { int FORCESTANDARD = 12;//战力达标 int DAILY_RECHARGE = 13;//每日充值 int RECHARGE_SUM_DAY = 14;//累计充值天数 + int EXCHANGEANDDROP = 15;//限时兑换活动 int SECURT_EXPERT = 16;// 秘境达人 int ARENA_EXPERT = 17;// 竞技达人 int UP_EXPERT = 18;// 进阶达人 @@ -40,7 +41,4 @@ public interface ActivityType { int RECHARGE_NUM = 24;//累计充值 - - // int EXCHANGEANDDROP = 15;//限时兑换活动 - } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index ec14c8b86..4dbe6c825 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -21,6 +21,7 @@ public enum ActivityTypeEnum { FORCESTANDARD(ActivityType.FORCESTANDARD, ForceStandardActivity::new), DAILY_RECHARGE(ActivityType.DAILY_RECHARGE, DailyRechargeActivity::new), RECHARGE_SUM(ActivityType.RECHARGE_SUM_DAY, RechargeSumDayActivity::new), + EXCHANGEANDDROP(ActivityType.EXCHANGEANDDROP, DefaultEmptyActivity::new), SECURT_EXPERT(ActivityType.SECURT_EXPERT, SecretExpectRankActivity::new), ARENA_EXPERT(ActivityType.ARENA_EXPERT, AreanaExpectRankActivity::new), UP_EXPERT(ActivityType.UP_EXPERT, HeroUpExpectRankActivity::new), diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 80c61139e..c3dd4b4e9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -51,7 +51,7 @@ public class UserManager { initPlayer(user,openId); UserManager.addUser(user); MongoUtil.getInstence().getMyMongoTemplate().save(user); - PlayerLogic.getInstance().sendTestWelfareMail(user,1,2); + PlayerLogic.getInstance().sendTestWelfareMail(user,1,1); return user; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index 4bb9bd936..ef1d13098 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -508,6 +508,14 @@ public class CombatLogic { SAdventureConfig sAdventureConfig = SAdventureConfig.getConfig().get(arenaID); int[][][] invasionBoss = sAdventureConfig.getInvasionBoss(); + Set arenaIDs = adventureStateInfoMap.keySet(); + int arenaIndex = MathUtils.randomInt(arenaIDs.size()); + arenaID = arenaIDs.iterator().next(); + Iterator iterator = arenaIDs.iterator(); + int j=arenaIndex; + while (iterator.hasNext() && j-->0){ + arenaID = iterator.next(); + } AdventureStateInfo adventureStateInfo = adventureStateInfoMap.get(arenaID); int bossGroupID =0; int level = adventureStateInfo.getLevel(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java index 36a1482b6..92dcb2c8e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java @@ -52,8 +52,11 @@ public class MailLogic { return mailList; } List cMailList = new CopyOnWriteArrayList<>(); - for (Map.Entry entry :mailMap.entrySet()){ - Mail cMail = entry.getValue(); + Iterator> iterator = mailMap.entrySet().iterator(); + + while (iterator.hasNext()){ + Map.Entry next = iterator.next(); + Mail cMail = next.getValue(); int nowTime = (int)(TimeUtils.now()/1000); if (cMail.getEffectiveTime() != 0 && (nowTime - cMail.getSendTime()) > cMail.getEffectiveTime()){ mailManager.removeMail(cMail.getId()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index adb20ebb5..831c02d55 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -458,7 +458,7 @@ public class PlayerLogic { public void sendTestWelfareMail(User user,int sendDay,int duration) throws Exception { String title = SErrorCodeEerverConfig.getI18NMessage("welfare_activity_daily_title"); - for(;sendDay