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 a7eebde8e..ceb015119 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 @@ -125,13 +125,13 @@ public class CumulationData { public int refreshMrTimes; //刷新迷宫寻宝次数 - public int especialEquipMaxLeve; //法宝最高等级达到5 + private int especialEquipMaxLeve; //法宝最高等级达到5 public Map luckyWheelTimes = new HashMap<>(); //幸运探宝次数 public int expeditinoTimes; // 猎妖之路次数 - public Map especialEquipStar = new HashMap<>();//法宝升到%s星级的数量为 + private Map especialEquipStar = new HashMap<>();//法宝升到%s星级的数量为 public Map finishMissionTimes = new HashMap<>();//完成迷宫寻宝%品质%次 public Map loginTimesDay = new HashMap<>();//每日登陆次数 @@ -148,7 +148,7 @@ public class CumulationData { public int decompose_times;//献祭武将次数 public int death_path_times;// 击杀过关十绝阵num次 - public int jewl_all_leve;//全体上阵成员法宝等级达到level(需求人数6人,不满上阵不计完成度) + private int baubles_all_level;//全体上阵成员法宝等级达到level(需求人数6人,不满上阵不计完成度) public int daily_task_value;// public int guild_help_value;// public int car_play_time;// @@ -751,4 +751,32 @@ public class CumulationData { public void addXiaoyaoyouConsumeNum(int num) { this.xiaoyaoyouConsumeNum += num; } + + public int getEspecialEquipMaxLeve() { + return especialEquipMaxLeve; + } + + public void setEspecialEquipMaxLeve(int especialEquipMaxLeve) { + this.especialEquipMaxLeve = especialEquipMaxLeve; + } + + public int getBaubles_all_level() { + return baubles_all_level; + } + + public void setBaubles_all_level(int baubles_all_level) { + this.baubles_all_level = baubles_all_level; + } + + public Map getEspecialEquipStar() { + return especialEquipStar; + } + + public int getEspecialEquipStar(int star) { + return especialEquipStar.getOrDefault(star, 0); + } + + public void setEspecialEquipStar(Map especialEquipStar) { + this.especialEquipStar = especialEquipStar; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java index 15220f835..1e073c92c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java @@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.TrainingLogic; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.tools.Utils; import com.ljsd.jieling.util.CBean2Proto; @@ -757,6 +758,7 @@ public class EquipLogic { } baubles.setLevel(tgLv); + user.getUserMissionManager().onGameEvent(user, GameEvent.BAUBLES_EQUIP, tgLv); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.BaublesStrengthenResponse_VALUE, null, true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java index dd190a7c3..05eb6ae46 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java @@ -37,10 +37,8 @@ public enum GameEvent { PlAY_STORY, //玩副本 HERO_UP,//卡牌成长 0:升级 1:突破 2:升星 TAKE_ACTIVITY_REWARD, // 领取活动奖励 - HERO_IN_TEAM, // 上阵卡牌数量 - - ESPECIAL_EQUIP,//获得法宝 + BAUBLES_EQUIP,//获得法宝 RECHARGE_TOTAL,//累計充值 JADE_DYNASTY_REFRESH,//破阵诛仙任务日刷新 JADE_DYNASTY_WEEK_REFRESH,//破阵诛仙周刷新 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 98fc7a928..18fc4ca50 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 @@ -1147,9 +1147,6 @@ public class MissionLoigc { case FAMILY_FIGHT_ATTACK: count = cumulationData.familyFightCount; break; - case ESPECIAL_EQUIP: - count = cumulationData.especialEquipStar.get(missionSubType[0]); - break; case FIND_STAR: count = cumulationData.findStar; break; @@ -1178,10 +1175,6 @@ public class MissionLoigc { case REFRESH_MISSING_ROOM: count = cumulationData.refreshMrTimes; break; - //todo - case SPECIAL_EQUIP_LEVEL_UP: - count = cumulationData.especialEquipMaxLeve; - break; case LUCKY_WHEELS_TIMES: if(missionSubType[0] == 0){ for(int value : cumulationData.luckyWheelTimes.values()){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index 0d461090d..62a4456d6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -83,7 +83,7 @@ public enum MissionType { BLOODY_KILL_NUMS(59),// 血战每日击杀人数 ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力 FAMILY_FIGHT_ATTACK(61),//公会战进攻次数 - ESPECIAL_EQUIP(62),//拥有%s星级法宝的数量为:%s + BAUBLES_EQUIP(62),//拥有%s星级法宝的数量为:%s FIND_STAR(65),//占星 TAKE_FRIEND_GIFT(66),//领取好友友情点 JOIN_FAMILY(69), @@ -95,7 +95,7 @@ public enum MissionType { CARD_RANDOM_TYPE(75),// 使用普通召唤num次(十连抽num计10) FINISH_MISSING_ROOM(76),//完成迷宫寻宝%品质%次 REFRESH_MISSING_ROOM(77),//刷新迷宫寻宝%s次 - SPECIAL_EQUIP_LEVEL_UP(78),//法宝提升到%s级 + BAUBLES_EQUIP_LEVEL_UP(78),//法宝提升到%s级 GUILD_GIVE_TIME(79),//使用level级别(0不限、1普通、2钻石小、3钻石大)的公会捐献num次 TEN_CHALLENGE_TIME(80),//挑战十绝阵num次 @@ -110,7 +110,7 @@ public enum MissionType { EXPEDITION_FLOOR_TIMES(89),//猎妖之路通过第floor层的首领节点(每层最多一个)num次 DECOMPOSE_TIMES(100),//献祭武将num个 DEATH_PATH_TIMES(101),//击杀过关十绝阵num次 - JEWL_ALL_LEVE(102),//全体上阵成员法宝等级达到level(需求人数6人,不满上阵不计完成度) + BAUBLES_ALL_LEVE(102),//全体上阵成员法宝等级达到level(需求人数6人,不满上阵不计完成度) DAILY_TASK_FINISH(103),//日常任务活跃度达到num GUILD_HELP_TIMES(104),//公会援助他人次数达到num diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java index 2bad216b8..2b2c649e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java @@ -107,7 +107,7 @@ public class DataManagerDistributor { judges.put(MissionType.JOIN_MONSTER_ATTACK_TIMES,new JoinMonsterAttackManager()); judges.put(MissionType.MONSTER_ATTACK_LEVEL,new DefaultDataManager()); judges.put(MissionType.TO_BE_STRONGER,new StrongerManager()); - judges.put(MissionType.ESPECIAL_EQUIP,new EspecialStarManager()); + judges.put(MissionType.BAUBLES_EQUIP,new EspecialStarManager()); judges.put(MissionType.FAMILY_FIGHT_ATTACK,new FamilyFightManager()); judges.put(MissionType.FIND_STAR,new FindStarManager()); @@ -119,7 +119,7 @@ public class DataManagerDistributor { judges.put(MissionType.RECHARGE_TIMES,new RechargeTimesManager()); judges.put(MissionType.FINISH_MISSING_ROOM,new FinishMissionRoomManager()); judges.put(MissionType.REFRESH_MISSING_ROOM,new RefreshMissionRoomMamager()); - judges.put(MissionType.SPECIAL_EQUIP_LEVEL_UP,new EspecialEquipLeveMamager()); + judges.put(MissionType.BAUBLES_EQUIP_LEVEL_UP,new EspecialEquipLeveMamager()); judges.put(MissionType.LUCKY_WHEELS_TIMES,new LuckyWheelTimesManager()); judges.put(MissionType.FINISH_EXPEDITION_HERO_TIMES,new ExpeditionManager()); judges.put(MissionType.LOGIN_TIMES,new LoginTimeManager()); @@ -132,7 +132,7 @@ public class DataManagerDistributor { judges.put(MissionType.EXPEDITION_FLOOR_TIMES,new ExpeditionPassManger()); judges.put(MissionType.DECOMPOSE_TIMES,new DecomposeTimes()); judges.put(MissionType.DEATH_PATH_TIMES,new DeathPathTimes()); - judges.put(MissionType.JEWL_ALL_LEVE,new UpJewlDataManager()); + judges.put(MissionType.BAUBLES_ALL_LEVE,new UpAllBaublesLvDataManager()); judges.put(MissionType.DAILY_TASK_FINISH,new DailyTaskManager()); judges.put(MissionType.GUILD_HELP_TIMES,new GuildHelpManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialEquipLeveMamager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialEquipLeveMamager.java index c8debffe9..db8e0f9ef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialEquipLeveMamager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialEquipLeveMamager.java @@ -1,13 +1,26 @@ package com.ljsd.jieling.logic.mission.data; import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.MissionType; -public class EspecialEquipLeveMamager implements BaseDataManager{ +public class EspecialEquipLeveMamager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getEspecialEquipMaxLeve() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getEspecialEquipMaxLeve(); + } + @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - if((int)parm[0]>data.especialEquipMaxLeve){ - data.especialEquipMaxLeve=(int)parm[0]; + int lv = (int) parm[0]; + if(lv > data.getEspecialEquipMaxLeve()){ + data.setEspecialEquipMaxLeve(lv); } return new CumulationData.Result(missionType); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java index 247bf0028..a4f69e102 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java @@ -1,25 +1,33 @@ package com.ljsd.jieling.logic.mission.data; import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.MissionType; import java.util.Map; -public class EspecialStarManager implements BaseDataManager { +public class EspecialStarManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getEspecialEquipStar(cfgValue[0][0]) >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getEspecialEquipStar(missionSubType[0]); + } + @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - int equipStar = (int) parm[0]; - Map especialEquipStar = data.especialEquipStar; + int equipStar = ((int) parm[0])/10; + Map especialEquipStar = data.getEspecialEquipStar(); + if(especialEquipStar.containsKey(equipStar)){ - especialEquipStar.put(equipStar,especialEquipStar.get(equipStar)+1); + especialEquipStar.merge(equipStar,1,Integer::sum); }else{ especialEquipStar.put(equipStar,1); } - - if(equipStar>data.especialEquipMaxLeve){ - data.especialEquipMaxLeve=equipStar; - } return new CumulationData.Result(missionType); - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpJewlDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java similarity index 89% rename from serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpJewlDataManager.java rename to serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java index 9ca5f5327..db0ad39cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpJewlDataManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java @@ -12,7 +12,7 @@ import java.util.Map; * Author: zsx * CreateDate: 2020/6/1 12:03 */ -public class UpJewlDataManager extends AbstractDataManager{ +public class UpAllBaublesLvDataManager extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { @@ -26,7 +26,7 @@ public class UpJewlDataManager extends AbstractDataManager{ @Override public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) { - if(data.jewl_all_leve==cfgValue[1][0]){ + if(data.getBaubles_all_level() ==cfgValue[1][0]){ return true; } Map> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); @@ -46,7 +46,7 @@ public class UpJewlDataManager extends AbstractDataManager{ } } if(isAll){ - data.jewl_all_leve=cfgValue[1][0]; + data.setBaubles_all_level(cfgValue[1][0]); return true; } } @@ -55,7 +55,7 @@ public class UpJewlDataManager extends AbstractDataManager{ @Override public int getProcess(User user, CumulationData data, int[] missionSubType) { - return data.jewl_all_leve; + return data.getBaubles_all_level(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index f91ae23cd..2b1c782f4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -200,16 +200,16 @@ public class MissionEventDistributor { typeList = new ArrayList<>(); typeList.add(MissionType.HERO_IN_TEAM_NUMS); - typeList.add(MissionType.JEWL_ALL_LEVE); + typeList.add(MissionType.BAUBLES_ALL_LEVE); eventEnumListMap.put(GameEvent.HERO_IN_TEAM,typeList); eventProcessor.put(GameEvent.HERO_IN_TEAM,new CumulationDataEventProcessor()); typeList = new ArrayList<>(); - typeList.add(MissionType.ESPECIAL_EQUIP); - typeList.add(MissionType.JEWL_ALL_LEVE); - typeList.add(MissionType.SPECIAL_EQUIP_LEVEL_UP); - eventEnumListMap.put(GameEvent.ESPECIAL_EQUIP,typeList); - eventProcessor.put(GameEvent.ESPECIAL_EQUIP,new CumulationDataEventProcessor()); + typeList.add(MissionType.BAUBLES_EQUIP); + typeList.add(MissionType.BAUBLES_ALL_LEVE); + typeList.add(MissionType.BAUBLES_EQUIP_LEVEL_UP); + eventEnumListMap.put(GameEvent.BAUBLES_EQUIP,typeList); + eventProcessor.put(GameEvent.BAUBLES_EQUIP,new CumulationDataEventProcessor()); typeList = new ArrayList<>(); typeList.add(MissionType.REARGE_TOTAL);