From 202b170cd5e88ed5cbb0aab37cf412492d31f352 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Wed, 26 May 2021 11:09:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E9=AD=94=E8=AF=95=E7=82=BC=E6=89=AB?= =?UTF-8?q?=E8=8D=A1,=E4=B8=80=E9=94=AE=E6=89=AB=E8=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapHandler/SweepBattleRequestHandler.java | 49 ++++++++++++++----- .../jieling/logic/player/PlayerLogic.java | 38 ++++++++++++++ .../ljsd/jieling/logic/store/StoreLogic.java | 10 ++-- .../src/main/java/config/SSpecialConfig.java | 2 + 4 files changed, 83 insertions(+), 16 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/SweepBattleRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/SweepBattleRequestHandler.java index 345e3cf20..13355eb8b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/SweepBattleRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/SweepBattleRequestHandler.java @@ -11,14 +11,21 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; +import com.sun.deploy.util.ArrayUtil; +import com.sun.tools.javac.util.ArrayUtils; import config.SFloodConfig; +import config.SSpecialConfig; import manager.STableManager; +import org.assertj.core.util.Lists; import org.springframework.stereotype.Component; import rpc.protocols.CommonProto; import rpc.protocols.FightInfoProto; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; +import java.util.List; +import java.util.Map; + @Component public class SweepBattleRequestHandler extends BaseHandler{ @Override @@ -30,28 +37,44 @@ public class SweepBattleRequestHandler extends BaseHandler dropList = Lists.newArrayList(); + boolean isOnekey= proto.getOnkeySweep(); + boolean isSuccess = false; + CommonProto.Drop.Builder drop = null; + //判断是否挑战过 + if(user.getMapManager().getLastMonsterAttack()0){ + int[][] reward = new int[times*sFloodConfig.getReward().length][2]; + for(int i =0;i vipInfo = user.getPlayerInfoManager().getVipInfo(); + if(privilageTypeId == 0){ + return 0; + } + List sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId); + List typePrivileges = new ArrayList<>(); + for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){ + if(!vipInfo.containsKey(config.getId())){ + continue; + } + typePrivileges.add(config.getId()); + } + if(typePrivileges.isEmpty()){ + return 0; + } + int levelUpdateCount = 0; + for(Integer privilageId:typePrivileges){ + VipInfo info = vipInfo.get(privilageId); + if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){ + continue; + } + int mCount = getMaxCountByPrivilege(user,privilageId); + if(mCount==-1){ + return 0; + } + if(info.getCount()>= mCount){ + continue; + } + if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){ + continue; + } + levelUpdateCount+=mCount-info.getCount(); + user.getPlayerInfoManager().updateVipPrivilage(privilageId, mCount-info.getCount()); + } + return levelUpdateCount; + } // private boolean priviliageCheck(User user, int privilageTypeId, int checkNum,boolean isUpdate){ // Map vipInfo = user.getPlayerInfoManager().getVipInfo(); // if(privilageTypeId == 0){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index ec4962334..c19e611d5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -514,7 +514,9 @@ public class StoreLogic implements IEventHandler { if(sStoreConfig.getOpenPrivilege()!=null){ PlayerInfoProto.PrivilegeIndication.Builder indication = PlayerInfoProto.PrivilegeIndication.newBuilder(); int[] openPrivilege = sStoreConfig.getOpenPrivilege(); - for(int privilege:openPrivilege){ + + for(int i=0;i