戒灵秘宝奖励修改

back_recharge
lvxinran 2019-10-29 21:07:35 +08:00
parent 2fea6f9a36
commit d1b82a3879
2 changed files with 32 additions and 22 deletions

View File

@ -173,7 +173,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
}
private void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs) throws Exception {
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs) throws Exception {
List<Integer> misssIds = new LinkedList<>();
List<SActivityRewardConfig> cfgs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
if (null == cfgs) {

View File

@ -69,28 +69,11 @@ public class TreasureActivity extends AbstractActivity {
private void takeTreasureReward(ISession session, User user, int activityId, int missionId) throws Exception {
int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(activityId);
PlayerManager playerInfoManager = user.getPlayerInfoManager();
int changeState = ActivityType.HAD_TAKED;
int hadBuyTreasure = playerInfoManager.getHadBuyTreasure();
if (hadBuyTreasure == 1) {
changeState = ActivityType.FINISH_TAKED;
}
int changeState = getChangerState(user);
List<int[][]> dropList = new ArrayList<>(2);
Set<Integer> missionIds = new HashSet<>();
// Set<Integer> missionIds = new HashSet<>();
if(missionId==-1){
for(int i = 1 ; i<=user.getPlayerInfoManager().getTreasureLevel();i++){
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityProgressInfoMap();
int state =progressInfoMap.get(i).getState();
if(state==changeState||state==ActivityType.FINISH_TAKED) {
continue;
}
missionIds.add(i);
dropByState(dropList,state,changeState,i);
ActivityProgressInfo progressInfo = new ActivityProgressInfo(0,changeState);
activityMission.updateProgressInfo(i, progressInfo);
}
getAllTreasureRewards(user,activityMission,changeState,dropList);
}else{
int state = activityMission.getActivityProgressInfoMap().get(missionId).getState();
if(state==changeState||state==ActivityType.FINISH_TAKED){
@ -99,7 +82,7 @@ public class TreasureActivity extends AbstractActivity {
dropByState(dropList,state,changeState,missionId);
ActivityProgressInfo progressInfo = new ActivityProgressInfo(0,changeState);
activityMission.updateProgressInfo(missionId, progressInfo);
missionIds.add(missionId);
// missionIds.add(missionId);
}
// sendActivityProgress(session,activityMission,missionIds);
@ -205,4 +188,31 @@ public class TreasureActivity extends AbstractActivity {
}
}
private int getChangerState(User user){
PlayerManager playerInfoManager = user.getPlayerInfoManager();
int changeState = ActivityType.HAD_TAKED;
int hadBuyTreasure = playerInfoManager.getHadBuyTreasure();
if (hadBuyTreasure == 1) {
changeState = ActivityType.FINISH_TAKED;
}
return changeState;
}
private void getAllTreasureRewards(User user,ActivityMission activityMission,int changeState,List<int[][]> dropList){
for(int i = 1 ; i<=user.getPlayerInfoManager().getTreasureLevel();i++){
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityProgressInfoMap();
int state =progressInfoMap.get(i).getState();
if(state==changeState||state==ActivityType.FINISH_TAKED) {
continue;
}
dropByState(dropList,state,changeState,i);
ActivityProgressInfo progressInfo = new ActivityProgressInfo(0,changeState);
activityMission.updateProgressInfo(i, progressInfo);
}
}
@Override
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs){
getAllTreasureRewards(user, user.getActivityManager().getActivityMissionMap().get(id), getChangerState(user), itemAttrs);
}
}