特权加成主线挑战奖励

back_recharge
duhui 2022-11-04 17:58:00 +08:00
parent e7c9be735a
commit 861a89cc42
4 changed files with 79 additions and 36 deletions

View File

@ -1687,7 +1687,6 @@ public class MapLogic {
FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder();
BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.StoryFight, sMainLevelConfig.getMonsterGroup(), teamId, sMainLevelConfig.getRankTime(), fightStartResponse, RedisKey.LEVE_DIFFICULTY_FIGHT); BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.StoryFight, sMainLevelConfig.getMonsterGroup(), teamId, sMainLevelConfig.getRankTime(), fightStartResponse, RedisKey.LEVE_DIFFICULTY_FIGHT);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true);
} }
/** /**
@ -1820,7 +1819,7 @@ public class MapLogic {
return; return;
} }
} }
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMainLevelConfig.getReward(), 1, 0, BIReason.LEVELDIFFICULTY_FIGHT_REWARD); CommonProto.Drop.Builder drop = ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD);
openNextMainLevel(session, user, fightId); openNextMainLevel(session, user, fightId);
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder(); FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
fightEndResponse.setEnventDrop(drop); fightEndResponse.setEnventDrop(drop);
@ -1828,9 +1827,10 @@ public class MapLogic {
fightEndResponse.build(); fightEndResponse.build();
MainLevelManager mainLevelManager = user.getMainLevelManager(); MainLevelManager mainLevelManager = user.getMainLevelManager();
FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build();
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid, "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce());
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid, "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce());
ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date()); ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date());
} }

View File

@ -38,7 +38,7 @@ public class FightEndRequestHandler extends BaseHandler {
case 5: case 5:
MapLogic.getInstance().endMonsterAttackFight(iSession, frames,MessageTypeProto.MessageType.FIGHT_END_RESPONSE); MapLogic.getInstance().endMonsterAttackFight(iSession, frames,MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
break; break;
case 6: case 6://主线
MapLogic.getInstance().endMainLevelFight(iSession, frames, fightEndRequest.getFightId(), MessageTypeProto.MessageType.FIGHT_END_RESPONSE); MapLogic.getInstance().endMainLevelFight(iSession, frames, fightEndRequest.getFightId(), MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
break; break;
case 7: case 7:

View File

@ -36,7 +36,7 @@ public class StartFightRequestHandler extends BaseHandler<FightInfoProto.FightSt
case 5: case 5:
MapLogic.getInstance().startMonsterAttackFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE); MapLogic.getInstance().startMonsterAttackFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
break; break;
case 6: case 6://主线
MapLogic.getInstance().startMainLevelFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE); MapLogic.getInstance().startMainLevelFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
break; break;
case 7: case 7:

View File

@ -203,10 +203,8 @@ public class ItemUtil {
} }
//活动额外掉落 //活动额外掉落
public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio,int reason) throws Exception { public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio,int reason) throws Exception {
ItemMap itemObj = new ItemMap(); ItemMap itemObj = new ItemMap();
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj); combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
// useRandomItem(user, randomMap,reason);
mapToAdd(user,itemObj,dropBuilder,reason); mapToAdd(user,itemObj,dropBuilder,reason);
} }
@ -258,6 +256,21 @@ public class ItemUtil {
return dropBuilder; return dropBuilder;
} }
/**
*
* @param user
* @param dropGroupIds
* @return
* @throws Exception
*/
public static CommonProto.Drop.Builder dropToPrivilege(User user, int[] dropGroupIds, int reason) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
ItemMap itemObj = new ItemMap();
combineRewardDropGroup(user, dropGroupIds, 1,itemObj);
privilegeAddToMainLevelChallenge(user, itemObj);
mapToAdd(user,itemObj,dropBuilder,reason);
return dropBuilder;
}
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,CommonProto.Drop.Builder dropBuilder,float dropRatio, int isMapping,int reason) throws Exception { public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,CommonProto.Drop.Builder dropBuilder,float dropRatio, int isMapping,int reason) throws Exception {
ItemMap itemObj = new ItemMap(); ItemMap itemObj = new ItemMap();
@ -1866,45 +1879,31 @@ public class ItemUtil {
/** /**
* *
* @param user * @param user
* @param reason * @param itemMap
* @param itemType
* @param sourceNum
* @return * @return
*/ */
public static long privilegeAdd(User user,int reason,int itemType,long sourceNum){ public static void privilegeAddToMainLevelChallenge(User user, ItemMap itemMap){
// 基础奖励,挑战 HashMap<Integer, Long> map = new HashMap<>();
if(reason == BIReason.ADVENTURE_BASE_REWARD){ // 基础奖励,挂机
sourceNum = baseReward(user, itemType, sourceNum); for (Map.Entry<Integer, Long> entry : itemMap.getItemMap().entrySet()) {
long num = challengeRewardNum(user, entry.getKey(), entry.getValue());
map.put(entry.getKey(),num);
} }
// 随机奖励,挂机 itemMap.setItemMap(map);
if(reason == BIReason.ADVENTURE_RANDOM_REWARDD){
sourceNum = randomReward(user, itemType, sourceNum);
}
return sourceNum;
} }
/** /**
* *
* @param user * @param user
* @param itemType * @param itemId
* @param sourceNum * @param sourceNum
* @return * @return
*/ */
private static long baseReward(User user,int itemType,long sourceNum){ private static long challengeRewardNum(User user,int itemId,long sourceNum){
switch (itemType){ switch (itemId){
case Global.EXP: case Global.EXP:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_EXP_REWARD);
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_USER_EXP); sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_USER_EXP);
break; break;
case Global.MISSING_ROOM_ITEM:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum, VipPrivilegeType.ADVENTURE_BASE_REWARD);
break;
case GlobalItemType.MINERAL:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD);
break;
case GlobalItemType.RUNNE:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD);
break;
case GlobalItemType.ONE_RMB_RECHARGE_CARD: case GlobalItemType.ONE_RMB_RECHARGE_CARD:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM); sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM);
break; break;
@ -1915,7 +1914,54 @@ public class ItemUtil {
} }
/** /**
* *
* @param user
* @param reason
* @param itemType
* @param sourceNum
* @return
*/
public static long privilegeAdd(User user,int reason,int itemType,long sourceNum){
// 基础奖励,挂机
if(reason == BIReason.ADVENTURE_BASE_REWARD){
sourceNum = baseReward(user, itemType, sourceNum);
}
// 随机奖励,挂机
if(reason == BIReason.ADVENTURE_RANDOM_REWARDD){
sourceNum = randomReward(user, itemType, sourceNum);
}
return sourceNum;
}
/**
*
* @param user
* @param itemType
* @param sourceNum
* @return
*/
private static long baseReward(User user,int itemType,long sourceNum){
switch (itemType){
case Global.EXP:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_EXP_REWARD);
break;
case Global.MISSING_ROOM_ITEM:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum, VipPrivilegeType.ADVENTURE_BASE_REWARD);
break;
case GlobalItemType.MINERAL:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD);
break;
case GlobalItemType.RUNNE:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD);
break;
default:
break;
}
return sourceNum;
}
/**
*
* @param user * @param user
* @param itemType * @param itemType
* @param sourceNum * @param sourceNum
@ -1929,9 +1975,6 @@ public class ItemUtil {
case GlobalItemType.RUNNE: case GlobalItemType.RUNNE:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD); sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD);
break; break;
case GlobalItemType.ONE_RMB_RECHARGE_CARD:
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.HANGUP_ADD_ONE_RECHARGE_NUM);
break;
default: default:
break; break;
} }