back_recharge
wangyuan 2019-04-28 10:06:41 +08:00
parent 1a67866d2f
commit dae316fa3e
1 changed files with 17 additions and 17 deletions

View File

@ -3,7 +3,6 @@ package com.ljsd.jieling.logic.fight;
import com.ljsd.jieling.config.*;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
@ -15,7 +14,6 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.util.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.Jedis;
import java.util.*;
@ -49,6 +47,7 @@ public class CombatLogic {
result.add(CBean2Proto.getAdventureStateInfo(item,item.getPosition()));
hasAdventure =true;
}
FightInfoProto.GetAdventureStateInfoResponse.Builder responseBuilder = FightInfoProto.GetAdventureStateInfoResponse.newBuilder();
if(hasAdventure){
responseBuilder.addAllAdventureStateInfoList(result);
@ -73,9 +72,8 @@ public class CombatLogic {
}
LOGGER.info("the uid={},offlineTimeLong={}",uid,offLineTime);
}
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_ADVENTURE_INFO_RESPONSE_VALUE,responseBuilder.build(),true);
}
public void adventureStation(ISession session,int position,List<String> heroIds) throws Exception {
@ -83,6 +81,11 @@ public class CombatLogic {
int uid = session.getUid();
User user = UserManager.getUser(uid);
SAdventureConfig sAdventureConfig = SAdventureConfig.getSAdventureConfigByPosition(position);
if( null == sAdventureConfig){
LOGGER.error("the uid={},the request position={}",uid,position);
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"");
return;
}
if(sAdventureConfig.getOpenLevel() > user.getPlayerInfoManager().getLevel()){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"等级不够");
return;
@ -152,8 +155,8 @@ public class CombatLogic {
//消耗道具全部加一遍基础奖励。
public Map<Integer,CommonProto.Drop.Builder> calAdvenrureReward(User user, boolean isOnLine,int position) throws Exception {
Map<int[], Float> tempDropRation = new HashMap<>();
Map<int[], Float> onlineReward = new HashMap<>();
AdventureManager adventureManager = user.getAdventureManager();
CommonProto.Drop.Builder notShowdropBuilder = CommonProto.Drop.newBuilder();
Map<Integer, AdventureStateInfo> adventureStateInfoMap = adventureManager.getAdventureStateInfoMap();
int now = (int)(System.currentTimeMillis()/1000);
int adventureRefresh = SGameSetting.getGameSetting().getAdventureRefresh();
@ -188,36 +191,33 @@ public class CombatLogic {
}
}
if(onlineTimesOfOffline!=0){
onlineReward.put(baseRewardGroup,rewardRation * onlineTimesOfOffline);
ItemUtil.activityDrop(user,notShowdropBuilder,baseRewardGroup,rewardRation * onlineTimesOfOffline);
while (onlineTimesOfOffline>0){
adventureManager.updateTemp(sAdventureConfig.getRandomRewardGroup(),rewardRation);
ItemUtil.activityDrop(user,notShowdropBuilder,sAdventureConfig.getRandomRewardGroup(),rewardRation);
onlineTimesOfOffline--;
}
}
}else{
onlineReward.put(baseRewardGroup,rewardRation * times);
ItemUtil.activityDrop(user,notShowdropBuilder,baseRewardGroup,rewardRation * times);
while (times>0){
adventureManager.updateTemp(sAdventureConfig.getRandomRewardGroup(),rewardRation);
ItemUtil.drop(user,sAdventureConfig.getRandomRewardGroup(),rewardRation,0);
times--;
}
}
}
}
Map<Integer,CommonProto.Drop.Builder> result = new HashMap<>(2);
if(!onlineReward.isEmpty()){
result.put(1,ItemUtil.drop(user, onlineReward));
}
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
result.put(1,notShowdropBuilder);
if(!isOnLine){
dropBuilder = ItemUtil.drop(user, tempDropRation);
CommonProto.Drop.Builder showdropBuilder = CommonProto.Drop.newBuilder();
showdropBuilder = ItemUtil.drop(user, tempDropRation);
List<TempDropInfo> tempDropRatioList = adventureManager.getTempDropRatio();
for(TempDropInfo tempDropInfo : tempDropRatioList){
ItemUtil.activityDrop(user,dropBuilder,tempDropInfo.getDropGroupIds(),tempDropInfo.getDropRatio());
ItemUtil.activityDrop(user,showdropBuilder,tempDropInfo.getDropGroupIds(),tempDropInfo.getDropRatio());
}
adventureManager.clearTemp();
result.put(2,dropBuilder);
result.put(2,showdropBuilder);
}
return result;
}