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 88b870c2e..47a8da705 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 @@ -91,6 +91,8 @@ public class CumulationData { public int takeDailyBoxTimes;// 领取日常任务宝箱奖励次数达到 public int wearEquipTimes;// 妖灵师穿戴装备件数达到 public int toBeStronger;//我要变强 + public int familyFightCount;//公会战进攻次数 + public int findStar;//占星次数 public Map synthesisHeroStarTimesMap = new HashMap<>();// 碎片合成%s星妖灵师次数达到 public Map heroUpStarTimesMap = new HashMap<>();//将妖灵师%s进阶次数达到 @@ -164,6 +166,8 @@ public class CumulationData { toBeStronger = 0; consumeAction = 0; especialEquipStar.clear(); + familyFightCount = 0; + findStar=0; } private void clearArray(int[] source){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java index 2039e7d54..bf04fe37e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java @@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.fight.CheckFight; import com.ljsd.jieling.logic.fight.FightType; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.Family; @@ -477,6 +478,7 @@ public class GuildFightLogic { } redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT_CAL_STAR,String.valueOf(attackGuildId),String.valueOf(defendBuildId),haveGotStar+getStar); Family.FamilyFightAttackResponse response = Family.FamilyFightAttackResponse.newBuilder().setResult(fightResult[0]).setStarCount(getStar).setData(fightData).build(); + userAttack.getUserMissionManager().onGameEvent(userAttack, GameEvent.FAMILY_FIGHT_ATTACK); MessageUtil.sendMessage(session, 1, messageType.getNumber(), response, true); } 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 8360ef6c9..00f73e044 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 @@ -541,6 +541,7 @@ public class ItemLogic { HeroInfoProto.SoulRandResponse.Builder builder = HeroInfoProto.SoulRandResponse.newBuilder(); builder.setDrop(drop); builder.setPos(currentPool); + user.getUserMissionManager().onGameEvent(user,GameEvent.FIND_STAR,time); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.SOUL_RAND_EQUIP_RESPONSE_VALUE, builder.build(), 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 4717be94e..c2f2c3cbb 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 @@ -58,6 +58,12 @@ public enum GameEvent { BLOODY_END,// 血战结束 - ESPECIAL_EQUIP//获得法宝 + FAMILY_FIGHT_ATTACK,//公会战进攻次数 + + ESPECIAL_EQUIP,//获得法宝 + + FIND_STAR,//占星 + + } 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 fa14d3b42..290a5387d 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 @@ -631,6 +631,9 @@ public class MissionLoigc { case ENDLESS_CONSUME_ACTION: count = cumulationData.consumeAction; break; + case FAMILY_FIGHT_ATTACK: + count = cumulationData.familyFightCount; + break; case ESPECIAL_EQUIP: count = cumulationData.especialEquipStar.get(missionSubType[0]); break; 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 2a180dd54..49f1116f8 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 @@ -79,7 +79,9 @@ public enum MissionType { TO_BE_STRONGER(58),//我要变强点击:%s次 BLOODY_KILL_NUMS(59),// 血战每日击杀人数 ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力 - ESPECIAL_EQUIP(62)//拥有%s星级法宝的数量为:%s + FAMILY_FIGHT_ATTACK(61),//公会战进攻次数 + ESPECIAL_EQUIP(62),//拥有%s星级法宝的数量为:%s + FIND_STAR(65)//占星 ; private int missionType; @@ -214,8 +216,12 @@ public enum MissionType { return BLOODY_KILL_NUMS; case 60: return ENDLESS_CONSUME_ACTION; + case 61: + return FAMILY_FIGHT_ATTACK; case 62: return ESPECIAL_EQUIP; + case 65: + return FIND_STAR; default: return null; } 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 3e231f0df..8c35e9dcc 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 @@ -100,6 +100,8 @@ public class DataManagerDistributor { 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.FAMILY_FIGHT_ATTACK,new FamilyFightManager()); + judges.put(MissionType.FIND_STAR,new FindStarManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java new file mode 100644 index 000000000..c9835488c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java @@ -0,0 +1,12 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +public class FamilyFightManager implements BaseDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + data.familyFightCount++; + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java new file mode 100644 index 000000000..f4e07e7fd --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java @@ -0,0 +1,12 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +public class FindStarManager implements BaseDataManager{ + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + data.findStar=+(int)parm[0]; + return new CumulationData.Result(missionType); + } +} 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 158caf14e..7c96fb4cc 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 @@ -254,11 +254,21 @@ public class MissionEventDistributor { eventEnumListMap.put(GameEvent.BLOODY_END,typeList); eventProcessor.put(GameEvent.BLOODY_END,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); + typeList.add(MissionType.FAMILY_FIGHT_ATTACK); + eventEnumListMap.put(GameEvent.FAMILY_FIGHT_ATTACK,typeList); + eventProcessor.put(GameEvent.FAMILY_FIGHT_ATTACK,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); typeList.add(MissionType.ESPECIAL_EQUIP); eventEnumListMap.put(GameEvent.ESPECIAL_EQUIP,typeList); eventProcessor.put(GameEvent.ESPECIAL_EQUIP,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); + typeList.add(MissionType.FIND_STAR); + eventEnumListMap.put(GameEvent.FIND_STAR,typeList); + eventProcessor.put(GameEvent.FIND_STAR,new CumulationDataEventProcessor()); + } private static final ThreadLocal>> threadMissionChangeList =