Merge branch 'online1.0'

back_recharge
lvxinran 2019-07-12 14:45:56 +08:00
commit 84654cb0fd
4 changed files with 22 additions and 8 deletions

View File

@ -43,6 +43,7 @@ public class UserMissionManager extends MongoBase {
dailyMissionIdsType.getFinishMissionIds().clear();
dailyMissionIdsType.getRewardedMissionIds().clear();
dailyCumulationData.reset();
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
updateString("dailyCumulationData",dailyCumulationData);
}else{
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
@ -89,12 +90,16 @@ public class UserMissionManager extends MongoBase {
public void calCumulationDataResult(User user, MissionType missionType, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap , Object...parm) throws Exception {
if(!dailyMissionIdsType.getDoingMissionIds().isEmpty()){
CumulationData.Result result = dailyCumulationData.updateData(missionType, parm);
if(result!=null){
dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData);
updateString("dailyCumulationData",dailyCumulationData);
updateString("dailyMissionIdsType",dailyMissionIdsType);
List<SDailyTasksConfig> sTaskConfigs = SDailyTasksConfig.getsTaskConfigByTypeMap(missionType.getMissionTypeValue());
if (sTaskConfigs != null) {
CumulationData.Result result = dailyCumulationData.updateData(missionType, parm);
if(result!=null){
dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData);
updateString("dailyCumulationData",dailyCumulationData);
updateString("dailyMissionIdsType",dailyMissionIdsType);
}
}
}
CumulationData.Result result = cumulationData.updateData(missionType, parm);

View File

@ -382,6 +382,7 @@ public class CombatLogic {
Map<Integer,Integer> randomRandomMap = new HashMap<>();
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder();
int takeTimes= 0;
for(AdventureStateInfo adventureStateInfoTmp:adventureStateInfoMap.values()) {
int positionTmp = adventureStateInfoTmp.getPosition();
if (position != -1 && positionTmp != position) {
@ -401,6 +402,7 @@ public class CombatLogic {
while (timesTemp-->0){
ItemUtil.combineReward(randomRewardGroup[adventureStateInfoTmp.getLevel()-1], 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap);
}
takeTimes++;
}
if(sendMail){
adventureStateInfoTmp.setStartTime(now);
@ -435,7 +437,7 @@ public class CombatLogic {
Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
result.put(1,baseBuilder.build());
result.put(2,randomBuilder.build());
user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD);
user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD,takeTimes);
return result;
}

View File

@ -502,7 +502,14 @@ public class FriendLogic {
FriendManager friendManager = user.getFriendManager();
Map<Integer, Integer> giveMap = friendManager.getGiveMap();
for (Map.Entry<Integer,Integer> entry: giveMap.entrySet()){
friendManager.updateGiveMap(entry.getKey(),0);
Integer friendId = entry.getKey();
User friendUser = UserManager.getUser(friendId);
FriendManager friendManager1 = friendUser.getFriendManager();
Map<Integer, Integer> haveRewardMap = friendManager1.getHaveRewardMap();
if (haveRewardMap.containsKey(uid)){
friendManager1.updateHaveRewardMap(uid,0);
}
friendManager.updateGiveMap(friendId,0);
}
}
}

View File

@ -6,7 +6,7 @@ import com.ljsd.jieling.logic.mission.MissionType;
public class TakeAdventureTimesManager implements BaseDataManager{
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
data.takeAdventurerewardTimes++;
data.takeAdventurerewardTimes+=(int)parm[0];
return new CumulationData.Result(missionType);
}
}