From 10d97f1de499b72f610f7cb711e3049e32ac5507 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Wed, 30 Sep 2020 13:25:38 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E6=88=90=E9=95=BF=E5=9F=BA=E9=87=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/GrowthFundActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java index 877d89512..3b593add2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java @@ -23,7 +23,7 @@ class GrowthFundActivity extends AbstractActivity { int[][] values = sActivityRewardConfig.getValues(); User user = UserManager.getUser(session.getUid()); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId(), 0); +9 Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId()[0], 0); if(buyTimes == 0){ return false; } From adb2c8d9c95242311e02174ee5260982f034e7de Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Wed, 30 Sep 2020 14:12:02 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E6=88=90=E9=95=BF=E5=9F=BA=E9=87=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/GrowthFundActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java index 3b593add2..853a38905 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java @@ -23,7 +23,7 @@ class GrowthFundActivity extends AbstractActivity { int[][] values = sActivityRewardConfig.getValues(); User user = UserManager.getUser(session.getUid()); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); -9 Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId()[0], 0); + Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId()[0], 0); if(buyTimes == 0){ return false; } From 838db384fd2e5e69f7f316f7dddcd0a5a0cd736d Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 17 Oct 2020 23:21:38 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E8=BF=B7=E5=AE=AB=E8=BE=BE=E4=BA=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mission/main/MissingRoomMissionType.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java index 1963004b1..dfae9d226 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java @@ -125,9 +125,21 @@ public class MissingRoomMissionType extends AbstractMissionType{ if(star!=0||type!=0){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - int[][] cost = new int[][]{sMazeTreasure.getTakeItem()}; - //特权减少消耗 + int[] costTemp = new int[sMazeTreasure.getTakeItem().length]; + for(int i= 0; i missingType = SPrivilegeTypeConfig.privilegeByType.get(VipPrivilegeType.MISSING_ROOM_CONSUME); +// +// for(SPrivilegeTypeConfig config:missingType){ +// if(user.getPlayerInfoManager().containPrivilageId(config.getId())){ +// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); +// n[1] =(int)(n[1]/10000d*(10000+config.getCondition()[0][1])); +// } +// } Arrays.stream(cost).forEach(n->{ for(SPrivilegeTypeConfig config:missingType){ if(user.getPlayerInfoManager().containPrivilageId(config.getId())){ From 72256d2370dd5466ac072fb4db5118471469ac3e Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 2 Oct 2020 01:00:48 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E6=AD=BB=E5=BE=AA=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/GlobalDataManaager.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 9bf988773..da650275a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -386,13 +386,19 @@ public class GlobalDataManaager implements IManager { updateBuyTimesGoodsId.add(next.getKey()); long endTime = next.getValue(); boolean isMiss =false; //移除清除的配置 线上错误避免 + int tt =0; while (endTime1000){ + LOGGER.error("Exception:配置"+next.getKey()+"endTime"+endTime+"sRe"+sRechargeCommodityConfig.getDailyUpdate()); + break; + } endTime += sRechargeCommodityConfig.getDailyUpdate() * TimeUtils.ONE_DAY ; } if(isMiss){ From f0bda1ef52d4a6ed0e3363a02f7c3e54c90b7518 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 2 Oct 2020 02:22:11 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E6=AD=BB=E5=BE=AA=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/GlobalDataManaager.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 da650275a..8226bcc69 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -395,7 +395,15 @@ public class GlobalDataManaager implements IManager { LOGGER.error("Exception:旧配置删除,请检查"+next.getKey()); break; } + + if(sRechargeCommodityConfig.getDailyUpdate()==0){ + isMiss =true; + LOGGER.error("Exception:配置"+next.getKey()+"endTime"+endTime+"sRe"+sRechargeCommodityConfig.getDailyUpdate()); + break; + } + if(tt>1000){ + isMiss =true; LOGGER.error("Exception:配置"+next.getKey()+"endTime"+endTime+"sRe"+sRechargeCommodityConfig.getDailyUpdate()); break; } From 384f4ff4815752a2b084e7dbaea3edb0238f7362 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Oct 2020 14:18:27 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E8=B8=A2=E4=BA=BA=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java index f492f4891..e67d96467 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java @@ -16,6 +16,7 @@ public class Cmd_kick extends GmGlobleAbstract { ISession session= OnlineUserManager.getSessionByUid(getUser().getId()); if (session != null) { MessageUtil.sendErrorCode(session, ErrorCode.kickUserCode, "您已被踢下线!"); + Thread.sleep(100); instance.kickOldUser(getUser().getId(), "", ErrorCode.kickUserCode, "LOSE HEART PACKET!!!!", 0); } return true; From 43943aeed36998507a58038f99be0288959bac0e Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Oct 2020 17:24:01 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E5=A4=A7=E9=97=B9=E5=A4=A9=E5=AE=AB?= =?UTF-8?q?=E8=BF=94=E8=BF=98=E4=BC=9A=E6=8E=89=E8=90=BD=E7=9A=84=E8=A3=85?= =?UTF-8?q?=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/Expedition/HeroNodeRequestHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java index 30bac0b39..aa0b8a0f4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java @@ -90,17 +90,17 @@ public class HeroNodeRequestHandler extends BaseHandler jewelInfo = hero.getJewelInfo(); for (String jewel : jewelInfo) { - PropertyItem propertyItem = user.getEquipManager().getEquipMap().get(jewel); + PropertyItem propertyItem = user.getExpeditionManager().getEquipMap().get(jewel); if (propertyItem == null) continue; Jewel j = (Jewel) propertyItem; - user.getExpeditionManager().addEquip(user, j); + // user.getExpeditionManager().addEquip(user, j); + drop.addSoulEquip(CBean2Proto.getEquipProto(j)); } - CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder(); drop.addHero(CBean2Proto.getHero(hero)); From 42917b30437e5c30dcee02bbf0fb96bb799703a8 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Oct 2020 17:24:53 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E5=8D=87=E6=98=9F=E6=B3=95=E5=AE=9D?= =?UTF-8?q?=E6=8A=A5=E9=94=99=20=E5=92=8C=20=E6=B3=95=E5=AE=9D=E7=A9=BF?= =?UTF-8?q?=E6=88=B4bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index c897beccc..50b4193d0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1939,9 +1939,13 @@ public class HeroLogic{ private void wearJewel(Hero hero,EquipManager equipManager,String equipId)throws Exception{ Jewel equip =(Jewel)equipManager.getEquipMap().get(equipId); + if( null == equip || null == hero ){ throw new ErrorCodeException(ErrorCode.HERO_EQUIP_ERR); } + if(null!=equip.getHeroId()&&!equip.getHeroId().equals("")){ + return; + } String remove = ""; for(String jewelId:hero.getJewelInfo()){ @@ -2553,7 +2557,8 @@ public class HeroLogic{ if(soulEquipByPositionMap!=null&&soulEquipByPositionMap.size()>0){ soulEquipByPositionMap.forEach((k,v)->returnItemMap.put(v,returnItemMap.getOrDefault(v,0)+1)); } - Set jewelInfo = hero.getJewelInfo(); + + Set jewelInfo = new HashSet<>(hero.getJewelInfo()); for(String equipId:jewelInfo){ if(!equipMap.containsKey(equipId)){ continue; From ca2e499a9f832e42bc4d896e6ab927405a8229d7 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Oct 2020 18:03:05 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E5=88=86=E8=A7=A3?= =?UTF-8?q?=E5=89=8D=E5=90=8E=E7=AB=AF=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/item/ItemLogic.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 4d1576f80..0b3993ac8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -329,12 +329,27 @@ public class ItemLogic { } + for (String jewelId : jewelList) { user.getEquipManager().remove(jewelId); - } + CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0,BIReason.JEWEL_DECOMPOSE); + + Map baseItemMap = new HashMap<>(); + Map baseCardMap = new HashMap<>(); + Map baseEquipMap = new HashMap<>(); + Map baseRandomMap = new HashMap<>(); + + for (int[] ints:items) { + if(baseItemMap.containsKey(ints[0])){ + baseItemMap.put(ints[0],baseItemMap.get(ints[0])+ints[1]); + }else { + baseItemMap.put(ints[0],ints[1]); + } + } + ItemUtil.drop(user,drop,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.JEWEL_DECOMPOSE); List reportMap = drop.getItemlistList(); List itemId = new ArrayList<>(reportMap.size()); List itemNum = new ArrayList<>(reportMap.size()); From 1751ac7e4440e2ee529f128bcb485c83965f6e6b Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Sat, 10 Oct 2020 10:51:21 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E8=84=B1=E8=A3=85?= =?UTF-8?q?=E5=A4=87=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 50b4193d0..43a6b9294 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -2007,10 +2007,12 @@ public class HeroLogic{ }else if(type==2){ Map equipMap = user.getEquipManager().getEquipMap(); for(String equipId:equipIds){ - if(!hero.getJewelInfo().contains(equipId)||equipMap.get(equipId)==null){ + if(!hero.getJewelInfo().contains(equipId)){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - equipMap.get(equipId).setHeroId(""); + if(equipMap.get(equipId)!=null){ + equipMap.get(equipId).setHeroId(""); + } hero.removeJewel(equipId); } } From 16cb452afeb9ecf2d37b7d686ef5d3fbb14fa38b Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 23 Oct 2020 14:27:52 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BE=BE=E4=BA=BA?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/behavior/FourtyTwoBehavior.java | 4 ++ .../jieling/logic/activity/ActivityType.java | 2 +- .../logic/activity/ActivityTypeEnum.java | 2 +- .../activity/TrialExpectRankActivity.java | 41 +++++++++++++++++++ .../logic/activity/event/TrailCrossEvent.java | 33 +++++++++++++++ 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java index df794da86..890e5f5dd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java @@ -5,6 +5,9 @@ import com.ljsd.jieling.handler.map.mapType.AbstractMap; import com.ljsd.jieling.handler.map.mapType.TowerMap; import com.ljsd.jieling.ktbeans.ReportEventEnum; import com.ljsd.jieling.ktbeans.ReportUtil; +import com.ljsd.jieling.logic.activity.event.LuckWheelEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.TrailCrossEvent; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankEnum; @@ -41,6 +44,7 @@ public class FourtyTwoBehavior extends BaseBehavior { floor = floor%10000; } //---- + Poster.getPoster().dispatchEvent(new TrailCrossEvent(user.getId(),floor)); if (challengeConfig.getType() == 2 && floor >= maxTower) { mapManager.setTrialFloor(floor + 1); LOGGER.info("当前层为{},最大层为{}", floor, maxTower); 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 aa230775a..464006a27 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 @@ -76,5 +76,5 @@ public interface ActivityType { int JADE_DYNASTY_SHOP = 20001;//破阵诛仙限时商市 int JADE_DYNASTY_RARE_SHOP = 20002;//破阵诛仙珍奇宝阁 int ITEMS_STORE= 6000;//百宝商会 - + int TRIAL_EXPERT = 70;//幻境达人 } 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 bf600b04f..b599f7760 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 @@ -57,7 +57,7 @@ public enum ActivityTypeEnum { JADE_DYNASTY_SHOP(ActivityType.JADE_DYNASTY_SHOP, DefaultEmptyActivity::new), JADE_DYNASTY_RARE_SHOP(ActivityType.JADE_DYNASTY_RARE_SHOP, DefaultEmptyActivity::new), ITEMS_STORE(ActivityType.ITEMS_STORE, DefaultEmptyActivity::new), - + TRIAL_EXPERT(ActivityType.TRIAL_EXPERT,TrialExpectRankActivity::new) ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java new file mode 100644 index 000000000..038ef722e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java @@ -0,0 +1,41 @@ +package com.ljsd.jieling.logic.activity; + + +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.*; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.rank.RankContext; +import com.ljsd.jieling.logic.rank.RankEnum; +import com.ljsd.jieling.network.session.ISession; +import config.SGlobalActivity; + +/** + * + */ +class TrialExpectRankActivity extends ExpectRankActivity { + + public TrialExpectRankActivity(int id) { + super(id); + Poster.getPoster().listenEvent(this, TrailCrossEvent.class); + } + + @Override + public void onEvent(IEvent event) throws Exception { + if (!(event instanceof TrailCrossEvent)) + return; + update(UserManager.getUser(((TrailCrossEvent) event).getUid()), ((TrailCrossEvent) event).getFloor()); + } + + + @Override + void updateProgressWithUser(User user, ActivityMission activityMission, int count) { + activityMission.setV(count); + if(SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking()==1){ +// String key = RedisKey.getKey(RedisKey.EXPERT_RANK, String.valueOf(id), false); +// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), activityMission.getV()); + RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(),String.valueOf(id),activityMission.getV()); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java new file mode 100644 index 000000000..89af2918b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java @@ -0,0 +1,33 @@ +package com.ljsd.jieling.logic.activity.event; + + +/** + * Description: 幸运转盘事件 + * Author: zsx + * CreateDate: 2019/9/23 15:46 + */ +public class TrailCrossEvent implements IEvent{ + private int uid; + private int floor; + + public TrailCrossEvent(int uid, int floor) { + this.uid = uid; + this.floor = floor; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public int getFloor() { + return floor; + } + + public void setFloor(int floor) { + this.floor = floor; + } +} From af5d3395c3cffeff165bd3ee6418030e0d23cf79 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Mon, 12 Oct 2020 13:45:00 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BE=BE=E4=BA=BA?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/TrialExpectRankActivity.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java index 038ef722e..b7bc721e9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java @@ -25,17 +25,8 @@ class TrialExpectRankActivity extends ExpectRankActivity { public void onEvent(IEvent event) throws Exception { if (!(event instanceof TrailCrossEvent)) return; - update(UserManager.getUser(((TrailCrossEvent) event).getUid()), ((TrailCrossEvent) event).getFloor()); + update(UserManager.getUser(((TrailCrossEvent) event).getUid()), 1); } - @Override - void updateProgressWithUser(User user, ActivityMission activityMission, int count) { - activityMission.setV(count); - if(SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking()==1){ -// String key = RedisKey.getKey(RedisKey.EXPERT_RANK, String.valueOf(id), false); -// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), activityMission.getV()); - RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(),String.valueOf(id),activityMission.getV()); - } - } } From 6991d23e6952f290d49e81203495076e823ddb4e Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 30 Oct 2020 10:47:45 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E7=89=B9=E6=9D=83=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/player/PlayerLogic.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 b5469660f..06bcc07da 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 @@ -309,7 +309,7 @@ public class PlayerLogic { Set fixVipId = new HashSet<>(); for(Map.Entry vipInfoItem : vipInfo.entrySet()){ //如果这个权限是活动 且永久了 那么需要修复 - if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==5){ + if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getUnlockType()==5){ fixVipId.add(vipInfoItem.getKey()); } if(vipInfoItem.getValue().getEffectTime()!=0 && vipInfoItem.getValue().getEffectTime()<=(TimeUtils.now()/1000)){ @@ -317,11 +317,10 @@ public class PlayerLogic { CombatLogic.getInstance().getNewAdventureReward(user,true,vipInfoItem.getValue().getEffectTime()); } removePrivileges.add(vipInfoItem.getKey()); - continue; } } if(!fixVipId.isEmpty()){ - fixVipId.forEach(n->playerInfoManager.addVipByTime(n,(int)((TimeUtils.now()+TimeUtils.WEEK)/1000))); + fixVipId.forEach(n->playerInfoManager.addVipByTime(n,(int)(TimeUtils.now()/1000))); } playerInfoManager.vipFlush(removePrivileges); //vip刷新后才能发给前端 From 2d28e51301f9f05a78576f0303ca98a17f80d3a0 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 30 Oct 2020 11:15:42 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E5=9B=9E=E6=98=A5=E6=95=A3=E5=8A=A0?= =?UTF-8?q?=E8=A1=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/handler/map/MapLogic.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 108e8e75a..6cef2ddb8 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 @@ -2564,18 +2564,18 @@ public class MapLogic { if(trialInfo.getAddHpCount()>=healing[1]){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - boolean itemCost = ItemUtil.itemCost(user, new int[][]{{healing[0],1}}, BIReason.TRIAL_ADD_HP_CONSUME, 1); - if(!itemCost){ - throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); - } Map propertyMap = heroInfo.get(heroId).getProperty(); int curHp = propertyMap.get(HeroAttributeEnum.CurHP.getPropertyId()); if(curHp==0){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); }else{ + boolean itemCost = ItemUtil.itemCost(user, new int[][]{{healing[0],1}}, BIReason.TRIAL_ADD_HP_CONSUME, 1); + if(!itemCost){ + throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); + } //todo 加血逻辑 int maxHp = propertyMap.get(HeroAttributeEnum.Hp.getPropertyId()); - int resultHp = Math.min(curHp+maxHp*5000/10000,maxHp); + int resultHp = Math.min(curHp+maxHp/2,maxHp); propertyMap.put(HeroAttributeEnum.CurHP.getPropertyId(),resultHp); trialInfo.getHeroInfo().get(heroId).setProperty(propertyMap); mapManager.updateTrialAddHpCount(1); From c556d0c425ed78d0c5d6129da4921d8c07e75545 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 30 Oct 2020 15:40:14 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9D=E7=89=A9?= =?UTF-8?q?=E5=88=86=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/item/ItemLogic.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 0b3993ac8..ff74fff7a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -285,6 +285,11 @@ public class ItemLogic { throw new ErrorCodeException(ErrorCode.ITEM_DECOMPOSE_SOULE_CANT); Jewel jewel = (Jewel)propertyItem; SJewelConfig config = STableManager.getConfig(SJewelConfig.class).get(propertyItem.getEquipId()); + if(jewel.getLevel()==0&&jewel.getBuildLevel()==0){ + SItem sItem = SItem.getsItemMap().get(propertyItem.getEquipId()); + reward = getStringBuilder(reward, 1, sItem.getResolveReward()); + continue; + } if(jewel.getLevel()!=0){ Map rankupConfigMap = SJewelRankupConfig.rankupMap.get(config.getLevelupPool()).get(1); for(SJewelRankupConfig value:rankupConfigMap.values()){ @@ -321,15 +326,11 @@ public class ItemLogic { } } } - SItem sItem = SItem.getsItemMap().get(propertyItem.getEquipId()); + items.add(new int[]{propertyItem.getEquipId(),1}); jewelIdReport.add(propertyItem.getEquipId()); jewelLevelReport.add(propertyItem.getLevel()); jewelQualityReport.add(((Jewel) propertyItem).getBuildLevel()); - reward = getStringBuilder(reward, 1, sItem.getResolveReward()); } - - - for (String jewelId : jewelList) { user.getEquipManager().remove(jewelId); } From ddc7f15b63389bc6136625da5614eea315bf7bec Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Sun, 8 Nov 2020 14:34:02 +0800 Subject: [PATCH 16/17] =?UTF-8?q?=E6=8E=89=E8=90=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/item/ItemLogic.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 0b3993ac8..72674de9c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -343,10 +343,11 @@ public class ItemLogic { Map baseRandomMap = new HashMap<>(); for (int[] ints:items) { - if(baseItemMap.containsKey(ints[0])){ - baseItemMap.put(ints[0],baseItemMap.get(ints[0])+ints[1]); + Map mapRe = ItemUtil.getMapRe(ints[0], baseItemMap, baseCardMap, baseEquipMap, baseRandomMap); + if(mapRe.containsKey(ints[0])){ + mapRe.put(ints[0],mapRe.get(ints[0])+ints[1]); }else { - baseItemMap.put(ints[0],ints[1]); + mapRe.put(ints[0],ints[1]); } } ItemUtil.drop(user,drop,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.JEWEL_DECOMPOSE); From 171d86addff9bb73d54ff33f14c129839206dabe Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Sat, 17 Oct 2020 22:10:01 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E9=9D=92=E9=BE=99=E7=A7=98=E5=AE=9D?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/dao/CumulationData.java | 11 +++++++++++ .../jieling/logic/mission/MissionLoigc.java | 2 +- .../logic/mission/data/DailyTaskManager.java | 19 +++++++++++++------ .../mission/data/ExpeditionPassManger.java | 2 +- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index deb2dd4b8..708f3ca89 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -165,6 +165,9 @@ public class CumulationData { //森罗幻境中参与小游戏次数 private int playMiniGameTimes; + //日常任务活跃度达到num + private int daily_task_remove_item; + public Result updateData(MissionType missionType, Object...parm) throws Exception { return DataManagerDistributor.updateData(this, missionType,parm); } @@ -367,4 +370,12 @@ public class CumulationData { public void setPlayMiniGameTimes(int playMiniGameTimes) { this.playMiniGameTimes = playMiniGameTimes; } + + public int getDaily_task_remove_item() { + return daily_task_remove_item; + } + + public void setDaily_task_remove_item(int daily_task_remove_item) { + this.daily_task_remove_item = daily_task_remove_item; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index f3000d759..b33473b5a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -488,7 +488,7 @@ public class MissionLoigc { if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){ CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD); - user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,missionId); + user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,missionId,user); ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),String.valueOf(missionId),type); PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java index 79c232124..3451797cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java @@ -17,6 +17,9 @@ public class DailyTaskManager extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + ItemManager itemManager = ((User)parm[1]).getItemManager(); + Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); + data.setDaily_task_remove_item(Math.max(data.getDaily_task_remove_item(),item.getItemNum())); return new CumulationData.Result(missionType); } @@ -27,16 +30,20 @@ public class DailyTaskManager extends AbstractDataManager{ @Override public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) { - ItemManager itemManager = user.getItemManager(); - Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); - return item!=null&&item.getItemNum()>=cfgValue[1][0]; +// ItemManager itemManager = user.getItemManager(); +// Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); +// return item!=null&&item.getItemNum()>=cfgValue[1][0]; + + + return data.getDaily_task_remove_item()>=cfgValue[1][0]; } @Override public int getProcess(User user, CumulationData data, int[] missionSubType) { - ItemManager itemManager = user.getItemManager(); - Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); - return item==null?0:item.getItemNum(); +// ItemManager itemManager = user.getItemManager(); +// Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); +// return item==null?0:item.getItemNum(); + return data.getDaily_task_remove_item(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java index 6fd8bc697..ef8185539 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java @@ -14,7 +14,7 @@ public class ExpeditionPassManger extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { int type = (int) parm[0]; - if(type==-1){ + if(type==-1||type>2){ type=3; } data.expedition_floor_times.put(type,data.expedition_floor_times.getOrDefault(type, 0)+1);