爬塔修改

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 eliteEnergy;
private int[][] randomStore;
public int getId() { public int getId() {
return id; return id;
@ -105,4 +107,6 @@ public class STrialConfig implements BaseConfig {
public int[][][] getRandomMapPointId() { public int[][][] getRandomMapPointId() {
return randomMapPointId; return randomMapPointId;
} }
public int[][] getRandomStore() { return randomStore;}
} }

View File

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

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.handler.map.behavior; 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.Cell;
import com.ljsd.jieling.handler.map.EventType; import com.ljsd.jieling.handler.map.EventType;
import com.ljsd.jieling.handler.map.MapManager; 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.dao.root.User;
import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.protocols.MapInfoProto; import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.util.MathUtils;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -31,7 +33,8 @@ public class FourtyThreeBehavior extends BaseBehavior{
mapManager.addTowerUnusedBuffer(mapManager.getTower(),cell.getEventId()); mapManager.addTowerUnusedBuffer(mapManager.getTower(),cell.getEventId());
return true; return true;
}else if(mapManager.getBossType()==4){ }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; return true;

View File

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