特权加成主线挑战奖励
parent
e7c9be735a
commit
861a89cc42
|
@ -1687,7 +1687,6 @@ public class MapLogic {
|
|||
FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder();
|
||||
BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.StoryFight, sMainLevelConfig.getMonsterGroup(), teamId, sMainLevelConfig.getRankTime(), fightStartResponse, RedisKey.LEVE_DIFFICULTY_FIGHT);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1820,7 +1819,7 @@ public class MapLogic {
|
|||
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);
|
||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
||||
fightEndResponse.setEnventDrop(drop);
|
||||
|
@ -1828,9 +1827,10 @@ public class MapLogic {
|
|||
fightEndResponse.build();
|
||||
MainLevelManager mainLevelManager = user.getMainLevelManager();
|
||||
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.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());
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ public class FightEndRequestHandler extends BaseHandler {
|
|||
case 5:
|
||||
MapLogic.getInstance().endMonsterAttackFight(iSession, frames,MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
|
||||
break;
|
||||
case 6:
|
||||
case 6://主线
|
||||
MapLogic.getInstance().endMainLevelFight(iSession, frames, fightEndRequest.getFightId(), MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
|
||||
break;
|
||||
case 7:
|
||||
|
|
|
@ -36,7 +36,7 @@ public class StartFightRequestHandler extends BaseHandler<FightInfoProto.FightSt
|
|||
case 5:
|
||||
MapLogic.getInstance().startMonsterAttackFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||
break;
|
||||
case 6:
|
||||
case 6://主线
|
||||
MapLogic.getInstance().startMainLevelFight(iSession,fightId,teamId, MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||
break;
|
||||
case 7:
|
||||
|
|
|
@ -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 {
|
||||
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
// useRandomItem(user, randomMap,reason);
|
||||
mapToAdd(user,itemObj,dropBuilder,reason);
|
||||
}
|
||||
|
||||
|
@ -258,6 +256,21 @@ public class ItemUtil {
|
|||
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 {
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
@ -1866,45 +1879,31 @@ public class ItemUtil {
|
|||
/**
|
||||
* 特权加成收益计算
|
||||
* @param user
|
||||
* @param reason
|
||||
* @param itemType
|
||||
* @param sourceNum
|
||||
* @param itemMap
|
||||
* @return
|
||||
*/
|
||||
public static long privilegeAdd(User user,int reason,int itemType,long sourceNum){
|
||||
// 基础奖励,挑战
|
||||
if(reason == BIReason.ADVENTURE_BASE_REWARD){
|
||||
sourceNum = baseReward(user, itemType, sourceNum);
|
||||
public static void privilegeAddToMainLevelChallenge(User user, ItemMap itemMap){
|
||||
HashMap<Integer, Long> map = new HashMap<>();
|
||||
// 基础奖励,挂机
|
||||
for (Map.Entry<Integer, Long> entry : itemMap.getItemMap().entrySet()) {
|
||||
long num = challengeRewardNum(user, entry.getKey(), entry.getValue());
|
||||
map.put(entry.getKey(),num);
|
||||
}
|
||||
// 随机奖励,挂机
|
||||
if(reason == BIReason.ADVENTURE_RANDOM_REWARDD){
|
||||
sourceNum = randomReward(user, itemType, sourceNum);
|
||||
}
|
||||
return sourceNum;
|
||||
itemMap.setItemMap(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 挑战奖励加成
|
||||
* @param user
|
||||
* @param itemType
|
||||
* @param itemId
|
||||
* @param sourceNum
|
||||
* @return
|
||||
*/
|
||||
private static long baseReward(User user,int itemType,long sourceNum){
|
||||
switch (itemType){
|
||||
private static long challengeRewardNum(User user,int itemId,long sourceNum){
|
||||
switch (itemId){
|
||||
case Global.EXP:
|
||||
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_EXP_REWARD);
|
||||
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_USER_EXP);
|
||||
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:
|
||||
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM);
|
||||
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 itemType
|
||||
* @param sourceNum
|
||||
|
@ -1929,9 +1975,6 @@ public class ItemUtil {
|
|||
case GlobalItemType.RUNNE:
|
||||
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD);
|
||||
break;
|
||||
case GlobalItemType.ONE_RMB_RECHARGE_CARD:
|
||||
sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.HANGUP_ADD_ONE_RECHARGE_NUM);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue