From fd4cd6dd7f7e856ecb546e6f88f9840e8f011dad Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 19 Jan 2021 15:19:58 +0800 Subject: [PATCH 1/5] =?UTF-8?q?0127=E8=BF=9E=E7=BB=AD=E7=AD=BE=E5=88=B0?= =?UTF-8?q?=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/jbean/ActivityMission.java | 13 +++++++++++- .../jieling/logic/activity/ActivityLogic.java | 1 + .../logic/activity/SignInSumActivity.java | 20 ++++++++++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java b/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java index 44f536e5b..68313a611 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java @@ -16,7 +16,8 @@ public final class ActivityMission extends MongoBase { private LogHashMap> activityMissionMapLog ; private int activityState; private int openType; - private int v; + private int v; + private long creatTime; public ActivityMission() { } @@ -28,6 +29,7 @@ public final class ActivityMission extends MongoBase { this.activityState = _o_.activityState; this.openType = _o_.openType; this.v = _o_.v; + this.creatTime = _o_.creatTime; } public Map getActivityMissionMap() { @@ -63,6 +65,14 @@ public final class ActivityMission extends MongoBase { this.v = v; } + public long getCreatTime() { + return creatTime; + } + + public void setCreatTime(long creatTime) { + updateString("creatTime",creatTime); + this.creatTime = creatTime; + } @Override public String toString() { @@ -72,6 +82,7 @@ public final class ActivityMission extends MongoBase { _sb_.append(this.activityState).append(","); _sb_.append(this.openType).append(","); _sb_.append(this.v).append(","); + _sb_.append(this.creatTime).append(","); _sb_.append(")"); return _sb_.toString(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index c6fdc37e8..ff4287d9c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -264,6 +264,7 @@ public class ActivityLogic implements IEventHandler{ activityMission.setOpenType(1); activityMission.setActivityState(ActivityType.OPEN_STATE); activityMission.setV(0); + activityMission.setCreatTime(0); } public void initOtherMission(ActivityMission activityMission,List missionIds){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java index 9da41e575..ea93cbae2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java @@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.activity.event.SignInEvent; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.network.session.ISession; import config.SActivityRewardConfig; +import util.TimeUtils; import java.util.List; import java.util.Map; @@ -31,7 +32,24 @@ class SignInSumActivity extends AbstractActivity { @Override void updateProgress(ActivityMission activityMission, int count) { - activityMission.setV(count + activityMission.getV()); + // 初始化,时间为0 + long o1 = activityMission.getCreatTime(); + if (o1 == 0){ + activityMission.setV(count + activityMission.getV()); + activityMission.setCreatTime(TimeUtils.now()); + return; + } + // 获取当天零点时间戳 + long o2 = TimeUtils.getAppointTime(0); + // 后面比前面多几天 + int day = TimeUtils.differentDays(o1, o2); + // 大于1天,重新开始 + if (day > 1){ + activityMission.setV(count); + }else { + activityMission.setV(count + activityMission.getV()); + } + activityMission.setCreatTime(TimeUtils.now()); } @Override From 36306b509e68e42e83a7166a4bca932f6b5076c4 Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 20 Jan 2021 10:05:46 +0800 Subject: [PATCH 2/5] =?UTF-8?q?0127=E6=8C=82=E6=9C=BA=E5=A5=96=E5=8A=B1?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/fight/CombatLogic.java | 19 ++++++++------ .../java/com/ljsd/jieling/util/ItemUtil.java | 25 +++++++++++++++++++ .../src/main/java/config/SRewardGroup.java | 10 +++++++- 3 files changed, 46 insertions(+), 8 deletions(-) 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 36fc20f02..ee5e43539 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 @@ -946,11 +946,13 @@ public class CombatLogic { Integer times = fightStateInfoItem.getValue(); SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); int[] randomRewardMin = sMainLevelConfig.getRandomRewardMin(); - ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); - int timesTemp =times; - while (!viewBaseReward&×Temp-->0){ - ItemUtil.combineReward(user,true,sMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); + ItemUtil.combineRewardByMainLine(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); + if (!viewBaseReward){ + ItemUtil.combineRewardByMainLine(user,true,sMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); } + /*while (!viewBaseReward&×Temp-->0){ + ItemUtil.combineReward(user,true,sMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); + }*/ takeTimes+=times; } int fightId = mainLevelManager.getFightId(); @@ -964,11 +966,14 @@ public class CombatLogic { if(maxTimes>0){ times = times > maxTimes?maxTimes:times; int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin(); - ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); - int timesTemp =times; + ItemUtil.combineRewardByMainLine(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); + if (!viewBaseReward){ + ItemUtil.combineRewardByMainLine(user,true,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); + } + /*int timesTemp =times; while (!viewBaseReward&×Temp-->0){ ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); - } + }*/ lastTimeTakes=times; } ItemUtil.extraAddItem(user,baseItemMap,BIReason.ADVENTURE_BASE_REWARD); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 21f43ee6f..dd90db45a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -320,7 +320,32 @@ public class ItemUtil { if(!isLoop){ extraAddItem(user,itemMap,reason); } + } + /** + * 主线挂机奖励 + * @param user + * @param isLoop + * @param dropGroupIds + * @param time + * @param itemMap + * @param cardMap + * @param equipMap + * @param randomMap + * @param itemObj + * @param reason + * @throws ErrorCodeException + */ + public static void combineRewardByMainLine(User user,boolean isLoop,int[] dropGroupIds,int time, Map itemMap, Map cardMap, Map equipMap, Map randomMap,ItemMap itemObj,int reason)throws ErrorCodeException{ + for (int id:dropGroupIds){ + SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(id); + // 次数 + long num = time / sRewardGroup.getDrapRate(); + combineRewardDropGroup(user, new int[]{id}, num, itemMap, cardMap, equipMap, randomMap,itemObj); + } + if(!isLoop){ + extraAddItem(user,itemMap,reason); + } } public static void extraAddItem(User user, Map itemMap,int reason){ diff --git a/tablemanager/src/main/java/config/SRewardGroup.java b/tablemanager/src/main/java/config/SRewardGroup.java index e41bb88e6..59599c407 100644 --- a/tablemanager/src/main/java/config/SRewardGroup.java +++ b/tablemanager/src/main/java/config/SRewardGroup.java @@ -23,10 +23,14 @@ public class SRewardGroup implements BaseConfig { */ private int loop ; + /** + * 掉落频率,单位:分 + */ + private int drapRate; + @Override public void init() throws Exception { sRewardItemMap = STableManager.getConfig(SRewardGroup.class); - } @@ -53,4 +57,8 @@ public class SRewardGroup implements BaseConfig { public int getLoop() { return loop; } + + public int getDrapRate() { + return drapRate; + } } From b5f1b291ad99fe9070c68233f70693685c19a227 Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 20 Jan 2021 14:53:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=B1=8F=E8=94=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/activity/FightMainEventHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FightMainEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FightMainEventHandler.java index 18fa50358..ce802af7f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FightMainEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FightMainEventHandler.java @@ -72,7 +72,7 @@ public class FightMainEventHandler implements IEventHandler{ ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).update(user,user.getPlayerInfoManager().getLevel()); } } - List sGlobalSystemConfigs = STableManager.getFigureConfig(CommonStaticConfig.class).getsGlobalSystemConfigMapByTypeAndConditionMap().get(1).get(fightId); + /*List sGlobalSystemConfigs = STableManager.getFigureConfig(CommonStaticConfig.class).getsGlobalSystemConfigMapByTypeAndConditionMap().get(1).get(fightId); if(sGlobalSystemConfigs == null){ return; } @@ -81,7 +81,7 @@ public class FightMainEventHandler implements IEventHandler{ if(openGifts!=null && openGifts.length>0){ ItemUtil.drop(user,openGifts, BIReason.SYSTERM_OPEN_REWARD); } - } + }*/ } } From f5e5bf662bcafe62b3331de6435350cfbada88c6 Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 20 Jan 2021 15:01:02 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=81=B5=E5=85=BD=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=8A=A5=E7=A9=BA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java index c7604d393..2af587407 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java @@ -63,7 +63,7 @@ public enum FunctionIdEnum { DeathPath(72,null), Car_Delay(73,new CarDelayFunction()), Situation_challenge(74,null), - Pokemon(79,null), + Pokemon(79,null,MessageTypeProto.MessageType.POKEMON_COMONPENT_LEVELUP_REQUEST_VALUE,MessageTypeProto.MessageType.POKEMON_ADVANCED_REQUEST_VALUE), World_Arena(82,new WorldArenaFunction()), ; From 91bd1096bd2d2091b4b292721eaaaf2839ba2bc3 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 21 Jan 2021 11:01:16 +0800 Subject: [PATCH 5/5] =?UTF-8?q?0127=E6=9E=81=E9=80=9F=E6=8E=A2=E7=B4=A2?= =?UTF-8?q?=E5=A5=96=E5=8A=B1=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/fight/CombatLogic.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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 ee5e43539..06f722525 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 @@ -275,11 +275,8 @@ public class CombatLogic { } } int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin(); - ItemUtil.combineReward(user,false,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); - int timesTemp =times; - while (timesTemp-->0){ - ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); - } + ItemUtil.combineRewardByMainLine(user,false,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); + ItemUtil.combineRewardByMainLine(user,true,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); randomEquipMap = equipAutoCombine(randomEquipMap); //清除无用活动道具 removeNoUseItem(user,randomItemMap);