0127挂机奖励2.0
parent
0a6a81c40c
commit
9317e9ea24
|
@ -4,6 +4,7 @@ import com.ljsd.common.mogodb.MongoBase;
|
|||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||
import config.SGameSetting;
|
||||
import manager.STableManager;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
@ -14,7 +15,7 @@ public class MainLevelManager extends MongoBase {
|
|||
|
||||
private int fightId; // 当前关卡id
|
||||
private int state; //状态 -1表示有等级卡
|
||||
private int startTime;
|
||||
private int startTime;// 给前端展示的挂机时长
|
||||
private int lastTime; //上一个关卡记时时间
|
||||
private Map<Integer,Integer> fightStateInfo = new HashMap<>();
|
||||
private Map<Integer,HashSet<String>> bossIds = new HashMap<>();
|
||||
|
@ -27,28 +28,35 @@ public class MainLevelManager extends MongoBase {
|
|||
|
||||
public void updateStateInfo(){
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
// 默认刷新时间 60
|
||||
int adventureRefresh = gameSetting.getAdventureRefresh();
|
||||
int timeDuration = (int)(System.currentTimeMillis()/1000) - lastTime;
|
||||
// 当前时间-最后领取时间
|
||||
int timeDuration = TimeUtils.nowInt() - lastTime;
|
||||
// 距离上次领取时间算出次数
|
||||
int times = timeDuration / adventureRefresh;
|
||||
// 不足一次的随机
|
||||
int mod = timeDuration % adventureRefresh;
|
||||
// 冒险最大时长(小时【12】)*60*60/领取单位(分【60】)
|
||||
int adventureOffline = gameSetting.getAdventureOffline()*60*60/adventureRefresh;
|
||||
|
||||
// 先算余数,不足一次的补足一次
|
||||
if(mod!=0){
|
||||
times += 1;
|
||||
startTime-=mod;
|
||||
updateString("startTime",startTime);
|
||||
}
|
||||
// 不足一次的补足一次
|
||||
if(times<1){
|
||||
times=1;
|
||||
startTime-=adventureRefresh;
|
||||
updateString("startTime",startTime);
|
||||
}
|
||||
int adventurenTimes = ((int) (System.currentTimeMillis() / 1000) - lastTime) / STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureRefresh();
|
||||
if(adventureOffline<=adventurenTimes){
|
||||
// 更新时间
|
||||
if(adventureOffline <= times){
|
||||
times=0;
|
||||
}else {
|
||||
// 修改最后时间
|
||||
updateString("lastTime",TimeUtils.nowInt()+times*adventureRefresh);
|
||||
}
|
||||
|
||||
fightStateInfo.put(fightId,times);
|
||||
updateString("fightStateInfo." + fightId,times);
|
||||
|
||||
}
|
||||
|
||||
public void setState(int state){
|
||||
|
@ -62,7 +70,7 @@ public class MainLevelManager extends MongoBase {
|
|||
}
|
||||
this.fightId = fightId;
|
||||
this.state = state;
|
||||
this.lastTime = (int)(System.currentTimeMillis()/1000);
|
||||
this.lastTime = TimeUtils.nowInt();
|
||||
updateString("fightId",fightId);
|
||||
updateString("state",state);
|
||||
updateString("lastTime",lastTime);
|
||||
|
@ -70,7 +78,6 @@ public class MainLevelManager extends MongoBase {
|
|||
|
||||
public void afterTakeStateReward(boolean needReset,int lastTakes,int time){
|
||||
fightStateInfo.clear();
|
||||
int now = (int)(System.currentTimeMillis()/1000);
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
if(needReset){
|
||||
this.startTime = time;
|
||||
|
|
|
@ -947,16 +947,12 @@ public class CombatLogic {
|
|||
if (!viewBaseReward){
|
||||
ItemUtil.combineRewardByMainLine(user,true,sMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
/*while (!viewBaseReward&×Temp-->0){
|
||||
ItemUtil.combineReward(user,true,sMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}*/
|
||||
takeTimes+=times;
|
||||
}
|
||||
int fightId = mainLevelManager.getFightId();
|
||||
SMainLevelConfig targetMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
||||
int lastTime = mainLevelManager.getLastTime();
|
||||
// int now = (int) (System.currentTimeMillis() / 1000);
|
||||
int times = (time - lastTime)/STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureRefresh();
|
||||
int times = (time - lastTime)/gameSetting.getAdventureRefresh();
|
||||
int maxTimes = adventureOffline - takeTimes;
|
||||
int lastTimeTakes=0;
|
||||
boolean reset = maxTimes<times;
|
||||
|
@ -967,10 +963,6 @@ public class CombatLogic {
|
|||
if (!viewBaseReward){
|
||||
ItemUtil.combineRewardByMainLine(user,true,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
/*int timesTemp =times;
|
||||
while (!viewBaseReward&×Temp-->0){
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}*/
|
||||
lastTimeTakes=times;
|
||||
}
|
||||
ItemUtil.extraAddItem(user,baseItemMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
|
|
Loading…
Reference in New Issue