diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java index 2de8c91db..144f721d0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java @@ -46,27 +46,48 @@ public class NewWelfareActivity extends AbstractActivity { boolean isUpdate = false; for(SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs){ ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(sActivityRewardConfig.getId()); - if(activityProgressInfo.getState() == 1){ - continue; - } - if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ - int parm = newWelfareEvent.getParm(); - if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){ - activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); - parm=activityProgressInfo.getProgrss(); + if(sActivityRewardConfig.getSort()==1){ + if(activityProgressInfo.getState() == 1){ + continue; } - if(parm ==sActivityRewardConfig.getValues()[1][0]){ - if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ - //可领取奖励 - activityProgressInfo.setState(3); - }else{ - activityProgressInfo.setState(1); + if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ + int parm = newWelfareEvent.getParm(); + if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){ + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); + parm=activityProgressInfo.getProgrss(); + } + if(parm ==sActivityRewardConfig.getValues()[1][0]){ + if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ + //可领取奖励 + activityProgressInfo.setState(3); + }else{ + activityProgressInfo.setState(1); + } + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + isUpdate = true; + } + } + }else{ + //新增任务 + if(activityProgressInfo.getState()!= 0){ + continue; + } + if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ + int parm = newWelfareEvent.getParm(); + if (newWelfareEvent.getType() == NewWelfareTypeEnum.ALL_MISSION_FIN.getType()||newWelfareEvent.getType() == NewWelfareTypeEnum.EXPLORE.getType()){ + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); + parm=activityProgressInfo.getProgrss(); + } + if(parm ==sActivityRewardConfig.getValues()[1][0]){ + activityProgressInfo.setState(3); + if (sActivityRewardConfig.getSort()==2){ + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.ALL_MISSION_FIN.getType(),1)); + } } - activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); - isUpdate = true; } } } + if(isUpdate){ //更新进度 ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java index 052d18dec..f91cd1ffd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java @@ -3,7 +3,10 @@ package com.ljsd.jieling.logic.activity.event; public enum NewWelfareTypeEnum { LEVEL_FIGHT(1), LOGIN_TIMES(2), - RECHARGE_BUY(3) + RECHARGE_BUY(3), + EXPLORE(4),//极速探索n次 + UPSTAR(5),//指定英雄升级至x星 + ALL_MISSION_FIN(6)//sort为2所有任务完成 ; private int type; 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 1f11ce946..a950b4242 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 @@ -19,6 +19,8 @@ import com.ljsd.jieling.ktbeans.KTGameType; import com.ljsd.jieling.ktbeans.KtEventUtils; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.NewWelfareEvent; +import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SecretEvent; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; @@ -234,7 +236,9 @@ public class CombatLogic { user.getUserMissionManager().onGameEvent(user,GameEvent.PlAY_STORY,9999,1); Poster.getPoster().dispatchEvent(new SecretEvent(user.getId())); user.getUserMissionManager().onGameEvent(user, GameEvent.TAKE_ADVENTURE_REWARD_COUNT,1); + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.EXPLORE.getType(),1)); } + FightInfoProto.TakeAventureRewardResponse build = FightInfoProto.TakeAventureRewardResponse.newBuilder().setDrop(adventureFastReward.get(1)).setRandomDrop(adventureFastReward.get(2)).build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,build,true); KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD.getIndex(),type*10); 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 6feab5978..03484b7dc 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 @@ -1541,7 +1541,7 @@ public class HeroLogic{ rankUpHeroExecute(targetHero); user.getHeroManager().addHeroStar(targetHero.getTemplateId(),targetHero.getStar()); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); - + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.UPSTAR.getType(),targetHero.getTemplateId())); targetHero.setStarBreakId(scHeroRankUpConfig.getId()); user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId(),targetHero.getStar()); user.getUserMissionManager().onGameEvent(user,GameEvent.GET_HERO,targetHero.getTemplateId(),targetHero.getStar());