剑影仙踪活动修改

lvxinran 2020-09-01 18:30:29 +08:00
parent b586b0c502
commit 10858c2606
1 changed files with 37 additions and 14 deletions

View File

@ -58,7 +58,12 @@ public class NewWelfareActivity extends AbstractActivity {
parm=activityProgressInfo.getProgrss(); parm=activityProgressInfo.getProgrss();
} }
if(parm ==sActivityRewardConfig.getValues()[1][0]){ if(parm ==sActivityRewardConfig.getValues()[1][0]){
activityProgressInfo.setState(1); if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){
//可领取奖励
activityProgressInfo.setState(3);
}else{
activityProgressInfo.setState(1);
}
activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo);
isUpdate = true; isUpdate = true;
} }
@ -73,6 +78,7 @@ public class NewWelfareActivity extends AbstractActivity {
@Override @Override
public boolean takeReward(ISession session, int missionId) throws Exception { public boolean takeReward(ISession session, int missionId) throws Exception {
PlayerInfoProto.TakeActivityRewardResponse build = null;
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) { if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
@ -80,22 +86,39 @@ public class NewWelfareActivity extends AbstractActivity {
} }
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap(); Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){ //0是领取最后奖励
if(activityProgressInfo.getState() != 1){ if(missionId==0){
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
//3状态专为第三个任务使用。。
if(activityProgressInfo.getState() != 1&&activityProgressInfo.getState() != 3){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
for(Map.Entry<Integer,ActivityProgressInfo> item: activityProgressInfoMap.entrySet()){
item.getValue().setState(2);
activityMission.getActivityMissionMap().put(item.getKey(),item.getValue());
}
sendActivityProgress(session, activityMission, null);
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD);
build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
}else{
//领取第三个奖励用
if(!activityProgressInfoMap.containsKey(missionId)||activityProgressInfoMap.get(missionId).getState()!=3){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
} }
//领过了
activityProgressInfoMap.get(missionId).setState(1);
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
if(sActivityRewardConfig==null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
sendActivityProgress(session, activityMission, null);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfig.getReward(), BIReason.TAKE_ACTIVITY_REWARD);
build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
} }
for(Map.Entry<Integer,ActivityProgressInfo> item: activityProgressInfoMap.entrySet()){
item.getValue().setState(2);
activityMission.getActivityMissionMap().put(item.getKey(),item.getValue());
}
sendActivityProgress(session, activityMission, null);
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD);
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
return true; return true;
} }