爬塔修改

back_recharge
lvxinran 2019-07-01 18:00:39 +08:00
parent 58a2d9e87a
commit 1846fed4c9
4 changed files with 27 additions and 11 deletions

View File

@ -65,6 +65,8 @@ public class STrialConfig implements BaseConfig {
*/
private int eliteEnergy;
private int[][] randomStore;
public int getId() {
return id;
@ -105,4 +107,6 @@ public class STrialConfig implements BaseConfig {
public int[][][] getRandomMapPointId() {
return randomMapPointId;
}
public int[][] getRandomStore() { return randomStore;}
}

View File

@ -817,19 +817,23 @@ public class MapLogic {
if(mapManager.getTower()>=1){
mapManager.setMapIntoFlag(1);
}
MapInfoProto.MapOutResponse.Builder builder = MapInfoProto.MapOutResponse.newBuilder();
builder.setUseTime(mapManager.getCurrTowerTime());
LOGGER.info("当前层使用时间{}"+mapManager.getCurrTowerTime());
if(mapManager.getTower()>mapManager.getHighestTower()){
mapManager.setHighestTower(mapManager.getTower());
}
MessageUtil.sendMessage(session, 1, messageType.getNumber(), builder.build(), true);
return;
}
boolean result = onlyLevelMap(user, true);
if (!result) {
MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "");
return;
}
if(mapManager.getTower()>mapManager.getHighestTower()){
mapManager.setHighestTower(mapManager.getTower());
}
MapInfoProto.MapOutResponse.Builder builder = MapInfoProto.MapOutResponse.newBuilder();
builder.setUseTime(mapManager.getCurrTowerTime());
LOGGER.info("当前层使用时间{}"+mapManager.getCurrTowerTime());
MessageUtil.sendMessage(session, 1, messageType.getNumber(), builder.build(), true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true);
}
public void whenLogin(User user) throws Exception {
@ -2030,6 +2034,7 @@ public class MapLogic {
mapManager.setCurXY(xy);
mapManager.setMapInfo(newMap);
mapManager.setEssenceValue(0);
// mapManager.setHeroAllAttributeMap(mapManager.getHeroAllAttributeMap());
if(mapManager.getTowerUnusedBuffer()==null){
mapManager.setTowerUnusedBuffer(new HashMap<>());
}
@ -2213,6 +2218,7 @@ public class MapLogic {
int uid = iSession.getUid();
User user = UserManager.getUser(uid);
MapManager mapManager = user.getMapManager();
StoreManager storeManager = user.getStoreManager();
if(mapManager.getMapIntoFlag()==0){
MessageUtil.sendErrorResponse(iSession,0,messageType.getNumber(),"重置错误");
return;
@ -2235,6 +2241,9 @@ public class MapLogic {
mapManager.setEssenceValue(0);
mapManager.setTowerUnusedBuffer(null);
mapManager.setMapIntoFlag(0);
if(storeManager.getStoreInfoMap().get(8)!=null){
storeManager.removeStoreInfo(8);
}
resetMapInfo(user, true);
MapInfoProto.MapTowerResetResponse mapTowerResetResponse = MapInfoProto.MapTowerResetResponse
.newBuilder()

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.handler.map.behavior;
import com.ljsd.jieling.config.STrialConfig;
import com.ljsd.jieling.handler.map.Cell;
import com.ljsd.jieling.handler.map.EventType;
import com.ljsd.jieling.handler.map.MapManager;
@ -7,6 +8,7 @@ import com.ljsd.jieling.logic.dao.StoreManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.util.MathUtils;
import com.ljsd.jieling.util.MessageUtil;
import org.springframework.stereotype.Component;
@ -31,7 +33,8 @@ public class FourtyThreeBehavior extends BaseBehavior{
mapManager.addTowerUnusedBuffer(mapManager.getTower(),cell.getEventId());
return true;
}else if(mapManager.getBossType()==4){
StoreLogic.initOrUpdateOneStore(user,8);
int storeIndex = MathUtils.randomFromWeight(STrialConfig.sTrialConfigMap.get(mapManager.getTower()).getRandomStore());
StoreLogic.initOrUpdateOneStore(user,8,storeIndex);
}
return true;

View File

@ -100,7 +100,7 @@ public class StoreLogic {
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
}
public static void initOrUpdateOneStore(User user,int storeType) throws Exception {
public static void initOrUpdateOneStore(User user,int storeType,int sort) throws Exception {
StoreManager storeManager = user.getStoreManager();
SStoreTypeConfig sStoreTypeConfig = SStoreTypeConfig.getsStoreTypeConfigMap().get(storeType);
if(sStoreTypeConfig == null){
@ -115,12 +115,12 @@ public class StoreLogic {
endTime =Integer.parseInt(sStoreTypeConfig.getEndTime())*60*1000 + now;
}
Map<Integer, Integer> itemNumMap = new ConcurrentHashMap<>();
int rewardId = getRewardId(storeType,1,user);
int rewardId = getRewardId(storeType,sort,user);
itemNumMap.put(rewardId, 1);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
}else{
Map<Integer, Integer> itemNumMap = storeInfo.getItemNumMap();
int rewardId = getRewardId(storeType,itemNumMap.size(),user);
int rewardId = getRewardId(storeType,sort,user);
itemNumMap.put(rewardId, 0);
storeInfo.setItemNumMap(itemNumMap);
}