至尊降世活动提高1000档

back_recharge
duhui 2022-02-23 18:06:38 +08:00
parent 9836cab7a7
commit e6ba9c0ac4
3 changed files with 32 additions and 14 deletions

View File

@ -30,6 +30,9 @@ public class BuyStoreItemHandler extends BaseHandler {
if (buyStoreItemRequest.getItemId()==1106){
Poster.getPoster().dispatchEvent(new NewWelfareEvent(UserManager.getUser(iSession.getUid()), NewWelfareTypeEnum.BUY_1106.getType(),0));
}
if (buyStoreItemRequest.getItemId()==1107){
Poster.getPoster().dispatchEvent(new NewWelfareEvent(UserManager.getUser(iSession.getUid()), NewWelfareTypeEnum.BUY_1107.getType(),0));
}
int msgId = MessageTypeProto.MessageType.BUY_STORE_ITEM_RESPONSE_VALUE;
PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);

View File

@ -74,24 +74,34 @@ public class NewWelfareActivity extends AbstractActivity {
oldActivityEvent(event);
} else {
NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event;
User user = newWelfareEvent.getUser();
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
// 特殊处理
if (newWelfareEvent.getType() == NewWelfareTypeEnum.BUY_1106.getType()) {
User user = newWelfareEvent.getUser();
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
for (Map.Entry<Integer, ActivityProgressInfo> item : activityMission.getActivityMissionMap().entrySet()) {
ActivityProgressInfo activityProgressInfo = item.getValue();
int missionId=item.getKey();
if (missionId==4209){
activityProgressInfo.setState(1);
}
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
}
//更新进度
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
sendActivityProgress(sessionByUid, activityMission, null);
updateState(activityMission,4209);
}
if (newWelfareEvent.getType() == NewWelfareTypeEnum.BUY_1107.getType()) {
updateState(activityMission,4212);
}
//更新进度
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
sendActivityProgress(sessionByUid, activityMission, null);
}
}
/**
*
*/
private void updateState(ActivityMission activityMission,int missionId){
ActivityProgressInfo info = activityMission.getActivityMissionMap().get(missionId);
if (info!=null){
info.setState(1);
}
activityMission.getActivityMissionMap().put(missionId, info);
}
@Override
public boolean takeReward(ISession session, int missionId) throws Exception {
if (this.id == 42) {
@ -148,13 +158,17 @@ public class NewWelfareActivity extends AbstractActivity {
int missionId=item.getKey();
SActivityRewardConfig rewardConfig=SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
activityProgressInfo.setProgrss(count);
if (activityProgressInfo.getProgrss()>=rewardConfig.getValues()[0][0]&&rewardConfig.getReward().length<=0&&missionId!=4209){
if (activityProgressInfo.getProgrss()>=rewardConfig.getValues()[0][0]&&rewardConfig.getReward().length<=0&&!specialId(missionId)){
activityProgressInfo.setState(ActivityType.HAD_TAKED);
}
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
}
}
private boolean specialId(int missionId){
return missionId == 4209 || missionId == 4212;
}
private void oldActivityEvent(IEvent event) {
NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event;
User user = newWelfareEvent.getUser();

View File

@ -8,6 +8,7 @@ public enum NewWelfareTypeEnum {
UPSTAR(5),//指定英雄升级至x星
ALL_MISSION_FIN(6),//sort为2所有任务完成
BUY_1106(7),//购买1106礼包
BUY_1107(8),//购买1107礼包
;
private int type;