Merge branch 'master_test_hw' of http://60.1.1.230/backend/jieling_server into master_test_hw

back_recharge
lvxinran 2021-01-22 18:11:35 +08:00
commit 4a90d1fa46
4 changed files with 29 additions and 22 deletions

View File

@ -251,7 +251,11 @@ public class ActivityLogic implements IEventHandler{
return true;
}
/**
*
* @param activityMission
* @param activityId
*/
public void initMissionInfo(ActivityMission activityMission,int activityId){
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(activityId);
if(sActivityRewardConfigs == null){return;}
@ -265,7 +269,7 @@ public class ActivityLogic implements IEventHandler{
activityMission.setOpenType(1);
activityMission.setActivityState(ActivityType.OPEN_STATE);
activityMission.setV(0);
activityMission.setCreatTime(0);
activityMission.setCreatTime(TimeUtils.now());
}
public void initOtherMission(ActivityMission activityMission,List<Integer> missionIds){
@ -503,6 +507,7 @@ public class ActivityLogic implements IEventHandler{
// 后面比前面多几天
int day = TimeUtils.differentDays(o1, o2);
if (day > 1){
ActivityLogic.getInstance().initMissionInfo(activityMission,activityId);
activityMission.setV(0);
}
}

View File

@ -45,6 +45,9 @@ class SignInSumActivity extends AbstractActivity {
int day = TimeUtils.differentDays(o1, o2);
// 大于1天重新开始
if (day > 1){
// 初始化
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
activityMission.setV(count);
}else {
activityMission.setV(count + activityMission.getV());

View File

@ -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;

View File

@ -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&&timesTemp-->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&&timesTemp-->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);