世界等级修改

back_recharge
lvxinran 2019-09-18 11:34:23 +08:00
parent d632f72afc
commit e10ac1ad61
5 changed files with 49 additions and 24 deletions

View File

@ -51,6 +51,5 @@ public class ServerConfig extends MongoBase {
public void setWorldLevel(int worldLevel) {
this.worldLevel = worldLevel;
updateString("world_level",worldLevel);
}
}

View File

@ -4,12 +4,18 @@ import com.google.gson.Gson;
import com.ljsd.common.mogodb.LjsdMongoTemplate;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.MathUtils;
import com.mongodb.MongoClientURI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
@ -83,6 +89,19 @@ public class MongoUtil {
return MongoUtil.getInstence().coreMongoTemplate;
}
public int worldLevel() throws Exception {
Query query = new Query();
query.with(new Sort(Sort.Direction.DESC,"playerManager.level"));
query.fields().include("playerManager.level");
List<User> users = getLjsdMongoTemplate().findAllByCondition(query, User.class);
int size = (int)(users.size()*0.85);
int level = 0;
for(int i = 0 ; i <size;i++){
level+=users.get(i).getPlayerInfoManager().getLevel();
}
return level/size;
}
public static void main(String[] args) {
try {
LjsdMongoTemplate ljsdMongoTemplate = getLjsdMongoTemplate();

View File

@ -5,6 +5,7 @@ import com.ljsd.jieling.config.*;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType;
import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
@ -1027,26 +1028,30 @@ public class MapLogic {
//无尽副本
if(challengeConfig.getType()==4) {
if(outType==1){
mapManager.updateEndlessLocation(0);
int[][] cost = new int[1][];
int costId = SChallengeSetting.getChallengeSetting().getActionPowerId();
int costNum = SEndlessMapConfig.sEndlessMapConfigMap.get(mapId).getTeleportCost();
int costNum2 = SEndlessMapConfig.sEndlessMapConfigMap.get(targetMapId).getTeleportCost();
int resultCost = Math.abs(costNum-costNum2);
mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+resultCost);
cost[0]= new int[]{costId,resultCost};//Math.abs(costNum-costNum)
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
mapManager.setCurMapId(0);
mapManager.setCurXY(0);
mapManager.updateEndlessLocation(0);
if(!costResult){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
return;
}
LOGGER.info("传送消耗{}行动力"+Math.abs(costNum-costNum2));
// mapManager.updateEndlessLocation(0);
// int[][] cost = new int[1][];
// int costId = SChallengeSetting.getChallengeSetting().getActionPowerId();
// int costNum = SEndlessMapConfig.sEndlessMapConfigMap.get(mapId).getTeleportCost();
// int costNum2 = SEndlessMapConfig.sEndlessMapConfigMap.get(targetMapId).getTeleportCost();
// int resultCost = Math.abs(costNum-costNum2);
// mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+resultCost);
// cost[0]= new int[]{costId,resultCost};//Math.abs(costNum-costNum)
// boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
// mapManager.setCurMapId(0);
// mapManager.setCurXY(0);
// mapManager.updateEndlessLocation(0);
//
// if(!costResult){
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
// return;
// }
// LOGGER.info("传送消耗{}行动力"+Math.abs(costNum-costNum2));
}else{
mapManager.updateEndlessLocation(curXY);
if(MapLogic.endlessSeason!=mapManager.getEndlessMapInfo().getSeason()){
mapManager.updateEndlessLocation(0);
}else{
mapManager.updateEndlessLocation(curXY);
}
mapManager.updateEndlessConsumeExecution(0);
mapManager.updateEndlessFightCount(0);
}

View File

@ -38,6 +38,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ConfigurableApplicationContext;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -164,6 +165,7 @@ public class GlobalDataManaager {
case Endless:
MapLogic.getInstance().updateEndlessSeason(timeControllerOfFunction.getTimes());
serverConfigTmp.setWorldLevel(calWorldLevel());
MongoUtil.getLjsdMongoTemplate().save(serverConfigTmp);
MapLogic.getInstance().setEndlessMapId(getEndleeMapIdByLevel());
break;
default:
@ -349,8 +351,8 @@ public class GlobalDataManaager {
}
private static int calWorldLevel(){
return 20;
private static int calWorldLevel() throws Exception {
return MongoUtil.getInstence().worldLevel();
}
private static int getEndleeMapIdByLevel() throws Exception {
ServerConfig config = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);

View File

@ -978,9 +978,9 @@ public class CombatLogic {
effect[1] = special;
for(int i = 0 ; i<effect.length;i++){
if(effect[i].length>2){
LOGGER.info("生效的光环为{}{}{}",effect[i][0],effect[i][1],effect[i][2]);
// LOGGER.info("生效的光环为{}{}{}",effect[i][0],effect[i][1],effect[i][2]);
}else{
LOGGER.info("生效的光环为{}{}",effect[i][0],effect[i][1]);
// LOGGER.info("生效的光环为{}{}",effect[i][0],effect[i][1]);
}
}