OFFLINE TIME

back_recharge
wangyuan 2019-09-27 11:40:59 +08:00
parent cc1a749227
commit 12b13fa6b0
8 changed files with 2748 additions and 953 deletions

View File

@ -9,7 +9,7 @@ public interface GlobalGm {
int ONE_KEY_ITEM_OR_HERO = 6;
int USER_UP_LEVE = 7; // 玩家升级
int ADOPT_ALL_DIFFICULTY = 8; // 通过所有关卡
int ADOPT_FIGHT_BY_LEVE = 9; // 根据等级开启对应的关卡
int ADOPT_FIGHT_BY_VALUE = 9; //开启对应的关卡
int TIME_INFO = 10; // 根据等级开启对应的关卡
int VIP_LEVEL = 11; // 根据等级开启对应的关卡
int RESET_USER_NAME = 12;

View File

@ -141,7 +141,16 @@ public class GMRequestHandler extends BaseHandler{
break;
}
}
case GlobalGm.ADOPT_FIGHT_BY_LEVE:
case GlobalGm.ADOPT_FIGHT_BY_VALUE:
int fightId = cUser.getMainLevelManager().getFightId();
while (fightId>prarm1){
SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId);
if(sMainLevelConfig.getNextLevel() != -1){
MapLogic.getInstance().openNextMainLevel(cUser,fightId);
}
fightId = sMainLevelConfig.getId();
}
break;
case GlobalGm.ONE_KEY_ITEM_OR_HERO:{

View File

@ -379,6 +379,9 @@ public class GlobalDataManaager {
e.printStackTrace();
}
int size = (int)(users.size()*0.85);
if(size ==0){
return -1;
}
int level = 0;
for(int i = 0 ; i <size;i++){
level+=users.get(i).getPlayerInfoManager().getLevel();

View File

@ -62,10 +62,19 @@ public class MainLevelManager extends MongoBase {
updateString("lastTime",lastTime);
}
public void afterTakeStateReward(){
public void afterTakeStateReward(int hadTakeTimes,boolean needReset,int lastTakes){
fightStateInfo.clear();
this.startTime = (int)(System.currentTimeMillis()/1000);
this.lastTime = (int)(System.currentTimeMillis()/1000);
int now = (int)(System.currentTimeMillis()/1000);
SGameSetting gameSetting = SGameSetting.getGameSetting();
if(needReset){
this.startTime = now;
this.lastTime = now;
}else{
int adventureRefresh = gameSetting.getAdventureRefresh();
this.startTime = startTime+hadTakeTimes*adventureRefresh;
this.lastTime = lastTime+lastTakes*adventureRefresh;
}
updateString("lastTime",state);
updateString("startTime",startTime);
updateString("lastTime",lastTime);

View File

@ -256,22 +256,25 @@ public class CombatLogic {
int lastTime = mainLevelManager.getLastTime();
int times = ((int)(System.currentTimeMillis()/1000) - lastTime)/SGameSetting.getGameSetting().getAdventureRefresh();
int maxTimes = adventureOffline - takeTimes;
int lastTimeTakes=0;
if(maxTimes>0){
times = times > maxTimes?maxTimes:times;
takeTimes+=times;
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
ItemUtil.combineReward(user,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int timesTemp =times;
while (timesTemp-->0){
ItemUtil.combineReward(user,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap);
}
lastTimeTakes=times;
}
mainLevelManager.afterTakeStateReward();
mainLevelManager.afterTakeStateReward(takeTimes,maxTimes<=0,lastTimeTakes);
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
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,takeTimes);
user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD,1);
return result;
}
private Map<Integer,CommonProto.Drop> getNewAdventureFastReward(User user,int timeDuration) throws Exception {