diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/AdventureManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/AdventureManager.java index 5c05b623f..3ad0158ef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/AdventureManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/AdventureManager.java @@ -23,6 +23,7 @@ public class AdventureManager extends MongoBase { public void station(AdventureStateInfo adventureStateInfo) throws Exception { int position = adventureStateInfo.getPosition(); + adventureStateInfo.init(getRootId(), getMongoKey() + ".adventureStateInfoMap."+ position); updateString("adventureStateInfoMap." + position, adventureStateInfo); adventureStateInfoMap.put(position,adventureStateInfo); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index f30dd9168..e5392f699 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -48,6 +48,12 @@ public class CombatLogic { FightInfoProto.GetAdventureStateInfoResponse response = FightInfoProto.GetAdventureStateInfoResponse.newBuilder().addAllAdventureStateInfoList(result).setDrop(dropBuilder.build()).setOutTime(offLineTime). build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_ADVENTURE_INFO_RESPONSE_VALUE,response,true); + List itemlistList = dropBuilder.getItemlistList(); + for(CommonProto.Item item: itemlistList){ + LOGGER.info("the uid={},itemID={}",uid,item.getItemId()); + } + LOGGER.info("the uid={},offlineTimeLong={}",uid,offLineTime); + } @@ -141,8 +147,9 @@ public class CombatLogic { adventureStateInfoTmp.setStartTime(startTime+times*adventureRefresh); SAdventureConfig sAdventureConfig = SAdventureConfig.getSAdventureConfigByPosition(positionTmp); int leaveBonus = sAdventureConfig.getLeaveBonus(); + int maxTimes = leaveBonus * 3600 / adventureRefresh; if(!isOnLine){ - times = times>leaveBonus?leaveBonus:times; + times = times>maxTimes?maxTimes:times; } int baseRewardGroup[] = sAdventureConfig.getBaseRewardGroup(); float rewardRation = calRation(size,sAdventureConfig.getNumIncome()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 2f62a0dda..8427bc1cd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -680,7 +680,14 @@ public class HeroLogic { } public StringBuilder getHeroProperty(User user, Hero hero, StringBuilder sb){ - Map heroAttributeMap = calHeroFinalAttributeWhenInMap(user, hero); + int curMapId = user.getMapManager().getCurMapId(); + Map heroAttributeMap; + if(curMapId == 0){ + heroAttributeMap=calHeroNotBufferAttribute(user, hero); + }else { + heroAttributeMap=calHeroFinalAttributeWhenInMap(user, hero); + } + sb.append(hero.getLevel()).append(DIVISION); SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); List templatePropetyIds = transTemplateByHeroPropertyName.get(scHero.getPropertyName());