check
parent
1a67866d2f
commit
dae316fa3e
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue