copy mission
parent
c65c4ecd75
commit
c66f849854
|
@ -17,6 +17,7 @@ public interface BIReason {
|
|||
|
||||
int TAKE_MISSION_REWARD = 11;// 领取任务奖励
|
||||
int TAKE_ACTIVITY_REWARD = 12;// 领取活动奖励
|
||||
int TAKE_COPY_REWARD = 12;// 领取活动奖励
|
||||
|
||||
int TAKE_SECRET_REWARD = 13; //秘盒奖励
|
||||
int TAKE_SECRET_EXTRA_REWARD = 14;//秘盒额外奖励
|
||||
|
|
|
@ -43,7 +43,7 @@ public class MapManager extends MongoBase {
|
|||
|
||||
private MapMission mapMissionProgres;
|
||||
|
||||
private MapMission copyMissionProgres; //副本累计
|
||||
private MapMission copyMissionProgres=new MapMission(); //副本累计
|
||||
|
||||
private Set<Integer> takeCopyMisionRewards =new HashSet<>();//副本奖励
|
||||
|
||||
|
@ -433,6 +433,11 @@ public class MapManager extends MongoBase {
|
|||
return fightCount;
|
||||
}
|
||||
|
||||
public void setTakeCopyMisionRewards(Set<Integer> takeCopyMisionRewards) {
|
||||
updateString("takeCopyMisionRewards" , takeCopyMisionRewards);
|
||||
this.takeCopyMisionRewards = takeCopyMisionRewards;
|
||||
}
|
||||
|
||||
public void setFightCount(int fightCount) {
|
||||
updateString("fightCount" , fightCount);
|
||||
this.fightCount = fightCount;
|
||||
|
|
|
@ -134,8 +134,22 @@ public class MissionLoigc {
|
|||
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
|
||||
}
|
||||
if(type == GameMisionType.COPYMISSION.getType()){ //副本 任务
|
||||
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.COPY_MISSION_REWARD, missionId);
|
||||
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.COPYMISSION);
|
||||
Set<Integer> takeCopyMisionRewards = user.getMapManager().getTakeCopyMisionRewards();
|
||||
if(takeCopyMisionRewards.contains(missionId)){
|
||||
return;
|
||||
}
|
||||
Map<Integer, Integer> allMissionProgress = user.getMapManager().getCopyMissionProgres().getAllMissionProgress();
|
||||
int finsihProgress = SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getValues()[1][0];
|
||||
if(!allMissionProgress.containsKey(missionId) || allMissionProgress.get(missionId) <finsihProgress){
|
||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
|
||||
return;
|
||||
}
|
||||
takeCopyMisionRewards.add(missionId);
|
||||
user.getMapManager().setTakeCopyMisionRewards(takeCopyMisionRewards);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getReward(), BIReason.TAKE_COPY_REWARD);
|
||||
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
|
||||
return;
|
||||
}
|
||||
|
||||
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
|
||||
|
|
Loading…
Reference in New Issue