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