特权加成主线挑战奖励
parent
e7c9be735a
commit
861a89cc42
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue