世界等级修改
parent
d632f72afc
commit
e10ac1ad61
|
@ -51,6 +51,5 @@ public class ServerConfig extends MongoBase {
|
|||
|
||||
public void setWorldLevel(int worldLevel) {
|
||||
this.worldLevel = worldLevel;
|
||||
updateString("world_level",worldLevel);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue