新版天尊降世代码提交

back_recharge
yuanshuai 2021-12-16 16:39:02 +08:00
parent d56b0b6a08
commit d96dc3a63d
4 changed files with 144 additions and 77 deletions

View File

@ -436,6 +436,16 @@ public class ActivityLogic implements IEventHandler{
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap(); Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) { for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
int activityId = sGlobalActivity.getId(); int activityId = sGlobalActivity.getId();
////天尊降世活动特殊处理
if (activityMissionMap.containsKey(42)){
if (activityId==4201){
continue;
}
}else{
if (activityId==42){
continue;
}
}
if (openActivityIds.contains(activityId)) { if (openActivityIds.contains(activityId)) {
int[] ifOpen = sGlobalActivity.getIfOpen(); int[] ifOpen = sGlobalActivity.getIfOpen();
if (ifOpen == null || ifOpen.length <= 0){ if (ifOpen == null || ifOpen.length <= 0){

View File

@ -32,96 +32,176 @@ public class NewWelfareActivity extends AbstractActivity {
@Override @Override
public void onEvent(IEvent event) throws Exception { public void onEvent(IEvent event) throws Exception {
if(! (event instanceof NewWelfareEvent) ){ if (!(event instanceof NewWelfareEvent)) {
return; return;
} }
if (this.id == 42) {
oldActivityEvent(event);
} else {
NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event;
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);
}
}
}
@Override
public boolean takeReward(ISession session, int missionId) throws Exception {
if (this.id == 42) {
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
oldActivityTakeReward(session,missionId,user,activityMission,activityProgressInfoMap);
} else {
super.takeReward(session,missionId);
}
return true;
}
@Override
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs) {
if (this.id == 42) {
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
return;
}
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
for (ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()) {
if (activityProgressInfo.getState() != 1) {
return;
}
}
for (ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()) {
activityProgressInfo.setState(2);
}
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
item.getValue().setState(2);
activityMission.getActivityMissionMap().put(item.getKey(), item.getValue());
}
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
itemAttrs.add(sActivityRewardConfigs.get(0).getReward());
}else{
// super.getAllMissRewards(user,session,itemAttrs);
}
}
@Override
void updateProgress(ActivityMission activityMission, int count) {
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
ActivityProgressInfo activityProgressInfo = item.getValue();
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){
activityProgressInfo.setState(ActivityType.HAD_TAKED);
}
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
}
}
private void oldActivityEvent(IEvent event) {
NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event; NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event;
User user =newWelfareEvent.getUser(); User user = newWelfareEvent.getUser();
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
if( null == activityMission){ if (null == activityMission) {
return; return;
} }
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap(); Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
boolean isUpdate = false; boolean isUpdate = false;
for(SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs){ for (SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs) {
ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(sActivityRewardConfig.getId()); ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(sActivityRewardConfig.getId());
if(sActivityRewardConfig.getSort()==1){//拿sort区分新老至尊降世活动任务 if (sActivityRewardConfig.getSort() == 1) {//拿sort区分新老至尊降世活动任务
if(activityProgressInfo.getState() == 1){ if (activityProgressInfo.getState() == 1) {
continue; continue;
} }
if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ if (sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType()) {
int parm = newWelfareEvent.getParm(); int parm = newWelfareEvent.getParm();
if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){ if (newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()) {
activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); activityProgressInfo.setProgrss(activityProgressInfo.getProgrss() + 1);
parm=activityProgressInfo.getProgrss(); parm = activityProgressInfo.getProgrss();
} }
if(parm ==sActivityRewardConfig.getValues()[1][0]){ if (parm == sActivityRewardConfig.getValues()[1][0]) {
if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ if (newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()) {
//可领取奖励 //可领取奖励
activityProgressInfo.setState(3); activityProgressInfo.setState(3);
}else{ } else {
activityProgressInfo.setState(1); activityProgressInfo.setState(1);
} }
activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo);
isUpdate = true; isUpdate = true;
} }
} }
}else{ } else {
//新增任务 //新增任务
if(activityProgressInfo.getState()!= 0){ if (activityProgressInfo.getState() != 0) {
continue; continue;
} }
if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ if (sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType()) {
int parm = newWelfareEvent.getParm(); int parm = newWelfareEvent.getParm();
if (newWelfareEvent.getType() == NewWelfareTypeEnum.ALL_MISSION_FIN.getType()||newWelfareEvent.getType() == NewWelfareTypeEnum.EXPLORE.getType()){ if (newWelfareEvent.getType() == NewWelfareTypeEnum.ALL_MISSION_FIN.getType() || newWelfareEvent.getType() == NewWelfareTypeEnum.EXPLORE.getType()) {
activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); activityProgressInfo.setProgrss(activityProgressInfo.getProgrss() + 1);
parm=activityProgressInfo.getProgrss(); parm = activityProgressInfo.getProgrss();
} }
if(parm ==sActivityRewardConfig.getValues()[1][0]){ if (parm == sActivityRewardConfig.getValues()[1][0]) {
activityProgressInfo.setState(3); activityProgressInfo.setState(3);
activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo);
isUpdate = true; isUpdate = true;
if (sActivityRewardConfig.getSort()==2){ if (sActivityRewardConfig.getSort() == 2) {
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.ALL_MISSION_FIN.getType(),1)); Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.ALL_MISSION_FIN.getType(), 1));
} }
} }
} }
} }
} }
if(isUpdate){ if (isUpdate) {
//更新进度 //更新进度
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
sendActivityProgress(sessionByUid, activityMission, null); sendActivityProgress(sessionByUid, activityMission, null);
} }
} }
@Override private void oldActivityTakeReward(ISession session, int missionId, User user, ActivityMission activityMission, Map<Integer, ActivityProgressInfo> activityProgressInfoMap) throws Exception {
public boolean takeReward(ISession session, int missionId) throws Exception {
PlayerInfoProto.TakeActivityRewardResponse build = null; PlayerInfoProto.TakeActivityRewardResponse build = null;
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
//0是领取最后奖励 //0是领取最后奖励
if(missionId==0){ if (missionId == 0) {
for (Map.Entry<Integer, ActivityProgressInfo> inter : activityProgressInfoMap.entrySet()) { for (Map.Entry<Integer, ActivityProgressInfo> inter : activityProgressInfoMap.entrySet()) {
ActivityProgressInfo activityProgressInfo=inter.getValue(); ActivityProgressInfo activityProgressInfo = inter.getValue();
int activityMissionId=inter.getKey(); int activityMissionId = inter.getKey();
SActivityRewardConfig missonConfig= SActivityRewardConfig.getsActivityRewardConfigByMissionId(activityMissionId); SActivityRewardConfig missonConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(activityMissionId);
if(activityProgressInfo.getState() != 1&&missonConfig.getSort()==1){ if (activityProgressInfo.getState() != 1 && missonConfig.getSort() == 1) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
} }
} }
for(Map.Entry<Integer,ActivityProgressInfo> item: activityProgressInfoMap.entrySet()){ for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
SActivityRewardConfig missonConfig= SActivityRewardConfig.getsActivityRewardConfigByMissionId(item.getKey()); SActivityRewardConfig missonConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(item.getKey());
if (missonConfig.getSort()==1){ if (missonConfig.getSort() == 1) {
item.getValue().setState(2); item.getValue().setState(2);
activityMission.getActivityMissionMap().put(item.getKey(),item.getValue()); activityMission.getActivityMissionMap().put(item.getKey(), item.getValue());
} }
} }
@ -129,52 +209,24 @@ public class NewWelfareActivity extends AbstractActivity {
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD);
build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
reportTakeActivityReward(user,sActivityRewardConfigs.get(0).getReward(),missionId); reportTakeActivityReward(user, sActivityRewardConfigs.get(0).getReward(), missionId);
}else{ } else {
//领取第三个奖励用 //领取第三个奖励用
if(!activityProgressInfoMap.containsKey(missionId)||activityProgressInfoMap.get(missionId).getState()!=3){ 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); activityProgressInfoMap.get(missionId).setState(1);
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId); SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
if(sActivityRewardConfig==null){ if (sActivityRewardConfig == null) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
} }
sendActivityProgress(session, activityMission, null); sendActivityProgress(session, activityMission, null);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfig.getReward(), BIReason.TAKE_ACTIVITY_REWARD); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfig.getReward(), BIReason.TAKE_ACTIVITY_REWARD);
build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
reportTakeActivityReward(user,sActivityRewardConfig.getReward(),missionId); reportTakeActivityReward(user, sActivityRewardConfig.getReward(), missionId);
} }
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
return true;
}
@Override
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs){
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
return;
}
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
if(activityProgressInfo.getState() != 1){
return;
}
}
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
activityProgressInfo.setState(2);
}
for(Map.Entry<Integer,ActivityProgressInfo> item: activityProgressInfoMap.entrySet()){
item.getValue().setState(2);
activityMission.getActivityMissionMap().put(item.getKey(),item.getValue());
}
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
itemAttrs.add(sActivityRewardConfigs.get(0).getReward());
} }
} }

View File

@ -6,7 +6,8 @@ public enum NewWelfareTypeEnum {
RECHARGE_BUY(3), RECHARGE_BUY(3),
EXPLORE(4),//极速探索n次 EXPLORE(4),//极速探索n次
UPSTAR(5),//指定英雄升级至x星 UPSTAR(5),//指定英雄升级至x星
ALL_MISSION_FIN(6)//sort为2所有任务完成 ALL_MISSION_FIN(6),//sort为2所有任务完成
BUY_1106(7),//购买1106礼包
; ;
private int type; private int type;

View File

@ -227,6 +227,9 @@ public class BuyGoodsNewLogic {
//处理特权 //处理特权
activePrivilege(user,config); activePrivilege(user,config);
resultRes.setResultCode(1); resultRes.setResultCode(1);
if (goodsId==1106){
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.BUY_1106.getType(),0));
}
//发送邮件 //发送邮件
int[] mail = config.getMail(); int[] mail = config.getMail();
if(config.getPrice()!=0&&mail!=null&&mail.length>1){ if(config.getPrice()!=0&&mail!=null&&mail.length>1){
@ -332,6 +335,7 @@ public class BuyGoodsNewLogic {
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.JADE_DYNASTY_RECHARGE_SUM,(int)(price*1000)); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.JADE_DYNASTY_RECHARGE_SUM,(int)(price*1000));
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM_DAY, (int)(user.getPlayerInfoManager().getRechargedaily()*1000) ); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM_DAY, (int)(user.getPlayerInfoManager().getRechargedaily()*1000) );
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FIND_FAIRY_FESTIVAL, (int)(price*1000)); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FIND_FAIRY_FESTIVAL, (int)(price*1000));
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.NEW_WELFARE, (int)(info.getRr()));
AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AynMissionWorker(GameEvent.RECHARGE_TOTAL,(int)(price*1000))) ; AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AynMissionWorker(GameEvent.RECHARGE_TOTAL,(int)(price*1000))) ;
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);