挑战副本
parent
df7006924b
commit
a325ba0451
|
@ -31,6 +31,8 @@ public enum FightType {
|
||||||
CrossLingMaiSecretFight(25),//灵脉秘境
|
CrossLingMaiSecretFight(25),//灵脉秘境
|
||||||
ExploreShouChao(26),//兽潮来袭
|
ExploreShouChao(26),//兽潮来袭
|
||||||
ExploreXinMo(27),//心魔试炼
|
ExploreXinMo(27),//心魔试炼
|
||||||
|
ENDLESS_NEW_TEAM(28),//新无尽战斗
|
||||||
|
TREASURE_TEAM(29),//宝物战斗
|
||||||
;
|
;
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
|
|
|
@ -0,0 +1,182 @@
|
||||||
|
package com.ljsd.jieling.handler.map.mapHandler;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.handler.map.MapLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.TeamEnum;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.logic.fight.FightDispatcher;
|
||||||
|
import com.ljsd.jieling.logic.fight.FightUtil;
|
||||||
|
import com.ljsd.jieling.logic.fight.GameFightType;
|
||||||
|
import com.ljsd.jieling.logic.fight.PVEFightEvent;
|
||||||
|
import com.ljsd.jieling.logic.fight.result.FightResult;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import config.SChallengeStage;
|
||||||
|
import config.SDailyChallengeConfig;
|
||||||
|
import config.SLotterySetting;
|
||||||
|
import manager.STableManager;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import rpc.protocols.CommonProto;
|
||||||
|
import rpc.protocols.MessageTypeProto;
|
||||||
|
import rpc.protocols.PlayerInfoProto;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/4/24
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class ChallengeHandler extends BaseHandler<PlayerInfoProto.ChallengeRequest> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
|
return MessageTypeProto.MessageType.CHALLENGE_REQUEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processWithProto(ISession iSession, PlayerInfoProto.ChallengeRequest proto) throws Exception {
|
||||||
|
//MapLogic.getInstance().dailyChallenge(iSession,proto.getType(),proto.getId(), MessageTypeProto.MessageType.CHALLENGE_RESPONSE);
|
||||||
|
User user = UserManager.getUser(iSession.getUid());
|
||||||
|
if(user == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PlayerInfoProto.ChallengeResponse.Builder builder = PlayerInfoProto.ChallengeResponse.newBuilder();
|
||||||
|
int type = proto.getType(); //1无尽 2宝物
|
||||||
|
int model = proto.getModel(); //1为挑战 2为扫荡
|
||||||
|
int id = proto.getId();
|
||||||
|
Map<Integer, SLotterySetting> config = STableManager.getConfig(SLotterySetting.class);
|
||||||
|
|
||||||
|
SChallengeStage sChallengeConfig = STableManager.getConfig(SChallengeStage.class).get(id);
|
||||||
|
SChallengeStage lastChange = STableManager.getConfig(SChallengeStage.class).get(id - 1);
|
||||||
|
if (sChallengeConfig == null) {
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
//次數
|
||||||
|
/*boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sChallengeConfig.getPivilegeID()[1], 1);
|
||||||
|
if (!consume) {
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}*/
|
||||||
|
int endlessNewReplicaLexel = user.getPlayerInfoManager().getEndlessNewReplica();
|
||||||
|
int treasureReplicaLexel = user.getPlayerInfoManager().getTreasureReplica();
|
||||||
|
/*
|
||||||
|
首次通关 给 保底 +总奖励 +通关奖励
|
||||||
|
扫荡 = 保底 +总奖励
|
||||||
|
没打过 保底+总奖励*奖励百分比
|
||||||
|
*/
|
||||||
|
if(model == 2){
|
||||||
|
//掃蕩
|
||||||
|
if(type ==1){
|
||||||
|
if(endlessNewReplicaLexel>id){
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}else if(type == 2){
|
||||||
|
if(treasureReplicaLexel>id){
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//扫荡 = 保底 +总奖励
|
||||||
|
Map<Integer, Integer> comDropMap = new HashMap<>();
|
||||||
|
/*for(int [] fix : sChallengeConfig.getFixedReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + fix[1]);
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], fix[1]);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
for(int [] fix : sChallengeConfig.getPassReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + fix[1]);
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], fix[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, comDropMap.entrySet().stream().map(n ->
|
||||||
|
new int[]{n.getKey(), n.getValue()}).toArray(int[][]::new), BIReason.EXPLORE_MAP_COST_RETURN);
|
||||||
|
builder.setDrop(drop);
|
||||||
|
}else{
|
||||||
|
GameFightType fightType = GameFightType.EndlessNewTeam;
|
||||||
|
if(type ==1){
|
||||||
|
fightType = GameFightType.EndlessNewTeam;
|
||||||
|
if(sChallengeConfig.getNextLevel()!=endlessNewReplicaLexel){
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
user.getPlayerInfoManager().setEndlessNewReplica(id);
|
||||||
|
}
|
||||||
|
}else if(type == 2){
|
||||||
|
fightType = GameFightType.TreasureTeam;
|
||||||
|
if(sChallengeConfig.getNextLevel()!= treasureReplicaLexel){
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
user.getPlayerInfoManager().setTreasureReplica(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PVEFightEvent pveFightEvent = new PVEFightEvent(user.getId(), TeamEnum.FORMATION_NORMAL.getTeamId(), 1000, "",
|
||||||
|
fightType, 810020, 3);
|
||||||
|
FightResult fightResult = FightDispatcher.dispatcher(pveFightEvent);
|
||||||
|
Map<Integer, Integer> comDropMap = new HashMap<>();
|
||||||
|
/*for(int [] fix : sChallengeConfig.getFixedReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + fix[1]);
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], fix[1]);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//首次通关 给 保底 +总奖励 +通关奖励
|
||||||
|
if ((int) fightResult.getCheckResult()[0] == 1){
|
||||||
|
//赢了
|
||||||
|
for(int [] fix : sChallengeConfig.getPassReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + fix[1]);
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], fix[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int [] fix : sChallengeConfig.getVictoryReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + fix[1]);
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], fix[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//没打过 保底+总奖励*奖励百分比
|
||||||
|
//输了
|
||||||
|
for(int [] fix : sChallengeConfig.getPassReward()){
|
||||||
|
if (comDropMap.containsKey(fix[0])) {
|
||||||
|
comDropMap.put(fix[0], comDropMap.get(fix[0]) + (int)(fix[1]*0.5));
|
||||||
|
} else {
|
||||||
|
comDropMap.put(fix[0], (int)(fix[1]*0.5));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CommonProto.FightData fightData = CommonProto.FightData.newBuilder()
|
||||||
|
.setFightMaxTime(20)
|
||||||
|
.setFightSeed(fightResult.getSeed())
|
||||||
|
.setHeroFightInfos(fightResult.getFightTeamInfo())
|
||||||
|
.addAllMonsterList(fightResult.getMonsterTeamList())
|
||||||
|
.setFightType(fightType.getFightType().getType())
|
||||||
|
.setFightId(FightUtil.getFightId(user.getId(), fightType))
|
||||||
|
.build();
|
||||||
|
builder.setFightData(fightData);
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, comDropMap.entrySet().stream().map(n ->
|
||||||
|
new int[]{n.getKey(), n.getValue()}).toArray(int[][]::new), BIReason.EXPLORE_MAP_COST_RETURN);
|
||||||
|
builder.setDrop(drop);
|
||||||
|
}
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package com.ljsd.jieling.handler.map.mapHandler;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.handler.map.MapLogic;
|
||||||
|
import com.ljsd.jieling.logic.arena.ChallengeLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.TeamEnum;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.logic.fight.FightDispatcher;
|
||||||
|
import com.ljsd.jieling.logic.fight.FightUtil;
|
||||||
|
import com.ljsd.jieling.logic.fight.GameFightType;
|
||||||
|
import com.ljsd.jieling.logic.fight.PVEFightEvent;
|
||||||
|
import com.ljsd.jieling.logic.fight.result.FightResult;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import config.SChallengeStage;
|
||||||
|
import manager.STableManager;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import rpc.protocols.CommonProto;
|
||||||
|
import rpc.protocols.MessageTypeProto;
|
||||||
|
import rpc.protocols.PlayerInfoProto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/4/24
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class ChallengeInfoHandler extends BaseHandler<PlayerInfoProto.ChallengeInfoRequest> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
|
return MessageTypeProto.MessageType.CHALLENGE_INFO_REQUEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processWithProto(ISession iSession, PlayerInfoProto.ChallengeInfoRequest proto) throws Exception {
|
||||||
|
|
||||||
|
User user = UserManager.getUser(iSession.getUid());
|
||||||
|
if(user == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PlayerInfoProto.ChallengeInfoResponse.Builder builder = PlayerInfoProto.ChallengeInfoResponse.newBuilder();
|
||||||
|
ChallengeLogic.getInstance().check();
|
||||||
|
for (int i = 1; i <= 2; i++) {
|
||||||
|
CommonProto.ChallengeInfo.Builder info = CommonProto.ChallengeInfo.newBuilder()
|
||||||
|
.setType(i)
|
||||||
|
.setOverTime(ChallengeLogic.status[i-1])
|
||||||
|
.setCurrentFloor(i== 1? user.getPlayerInfoManager().getEndlessNewReplica():user.getPlayerInfoManager().getTreasureReplica());
|
||||||
|
builder.addInfo(info.build());
|
||||||
|
}
|
||||||
|
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_INFO_RESPONSE.getNumber(), builder.build(), true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,6 +19,7 @@ import com.ljsd.jieling.logic.activity.event.SuperBoxEvent;
|
||||||
import com.ljsd.jieling.logic.activity.eventhandler.*;
|
import com.ljsd.jieling.logic.activity.eventhandler.*;
|
||||||
import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic;
|
import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic;
|
||||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||||
|
import com.ljsd.jieling.logic.arena.ChallengeLogic;
|
||||||
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
|
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
|
||||||
import com.ljsd.jieling.logic.dao.ServerConfig;
|
import com.ljsd.jieling.logic.dao.ServerConfig;
|
||||||
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
||||||
|
@ -466,7 +467,8 @@ public class GlobalDataManaager implements IManager {
|
||||||
WeekCardLogic.getInstance().sendWeekCardRewardMail(session);
|
WeekCardLogic.getInstance().sendWeekCardRewardMail(session);
|
||||||
//周卡每日刷新
|
//周卡每日刷新
|
||||||
WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
||||||
|
//TODO
|
||||||
|
ChallengeLogic.getInstance().ChallengeInfoIndication(session);
|
||||||
// GuildChallengeLogic.getInstance().resetBossDamage(user);
|
// GuildChallengeLogic.getInstance().resetBossDamage(user);
|
||||||
if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){
|
if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){
|
||||||
user.getPlayerInfoManager().updateSituationPass(new HashMap<>());
|
user.getPlayerInfoManager().updateSituationPass(new HashMap<>());
|
||||||
|
|
|
@ -0,0 +1,134 @@
|
||||||
|
package com.ljsd.jieling.logic.arena;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
|
import com.ljsd.fight.ArenaRecord;
|
||||||
|
import com.ljsd.fight.FightType;
|
||||||
|
import com.ljsd.jieling.config.clazzStaticCfg.SArenaRobotStaticConfig;
|
||||||
|
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||||
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
|
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.exception.ErrorCode;
|
||||||
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
|
import com.ljsd.jieling.globals.Global;
|
||||||
|
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
||||||
|
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||||
|
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||||
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
|
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
|
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.logic.fight.*;
|
||||||
|
import com.ljsd.jieling.logic.fight.result.FightResult;
|
||||||
|
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||||
|
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||||
|
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||||
|
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
|
import com.ljsd.jieling.logic.rank.RankContext;
|
||||||
|
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||||
|
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||||
|
import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent;
|
||||||
|
import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.thrift.idl.CrossArenaManager;
|
||||||
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import config.*;
|
||||||
|
import manager.STableManager;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.data.redis.core.ZSetOperations;
|
||||||
|
import rpc.protocols.*;
|
||||||
|
import util.MathUtils;
|
||||||
|
import util.StringUtil;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class ChallengeLogic {
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(ChallengeLogic.class);
|
||||||
|
|
||||||
|
private ChallengeLogic(){}
|
||||||
|
|
||||||
|
public static class Instance {
|
||||||
|
public final static ChallengeLogic instance = new ChallengeLogic();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ChallengeLogic getInstance() {
|
||||||
|
return ChallengeLogic.Instance.instance;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 是否开启,0:未开,1:开启
|
||||||
|
* 例子 0,1
|
||||||
|
*/
|
||||||
|
public static int[] status = new int[2];
|
||||||
|
/**
|
||||||
|
* 策划表配置,开启时间
|
||||||
|
*/
|
||||||
|
//public final int[][] config;
|
||||||
|
|
||||||
|
/*public static class Instance {
|
||||||
|
public final static FourChallengeLogic instance = new FourChallengeLogic(STableManager.getConfig(SCampTowerSetting.class).get(1).getCampOpenDay());
|
||||||
|
}
|
||||||
|
|
||||||
|
private FourChallengeLogic(int[][] config) {
|
||||||
|
this.config = config;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首次通关
|
||||||
|
*/
|
||||||
|
public static final int FIRST = 1;
|
||||||
|
/**
|
||||||
|
* 最低战力
|
||||||
|
*/
|
||||||
|
public static final int MINI = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 四灵试炼标志
|
||||||
|
*/
|
||||||
|
public static final String fc = "fc";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测开启状态
|
||||||
|
*/
|
||||||
|
public void check() {
|
||||||
|
status[0] = 1;
|
||||||
|
status[1] = 1;
|
||||||
|
/* int [][] config = {{1,3,5,7},{2,4,6,7}};
|
||||||
|
//status = new int[2];
|
||||||
|
for(int i = 0; i < config.length; i++){
|
||||||
|
for(int j = 0; j < config[i].length; j++){
|
||||||
|
// 判断当前周几
|
||||||
|
if (TimeUtils.getDayOfWeek() == config[i][j]) {
|
||||||
|
status[i] = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChallengeInfoIndication(ISession session) throws Exception {
|
||||||
|
PlayerInfoProto.ChallengeInfoIndication.Builder builder = PlayerInfoProto.ChallengeInfoIndication.newBuilder();
|
||||||
|
check();
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
|
for (int i = 1; i <= 2; i++) {
|
||||||
|
CommonProto.ChallengeInfo.Builder info = CommonProto.ChallengeInfo.newBuilder()
|
||||||
|
.setType(i)
|
||||||
|
.setOverTime(status[i-1])
|
||||||
|
.setCurrentFloor(i== 1? user.getPlayerInfoManager().getEndlessNewReplica():user.getPlayerInfoManager().getTreasureReplica());
|
||||||
|
builder.addInfo(info.build());
|
||||||
|
}
|
||||||
|
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.CHALLENGE_INFO_INDICATION_VALUE, builder.build(), true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -223,6 +223,12 @@ public class PlayerManager extends MongoBase {
|
||||||
return architectureInfoMap;
|
return architectureInfoMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*挑战副本等级
|
||||||
|
*/
|
||||||
|
private int endlessNewReplica; //无尽副本
|
||||||
|
private int treasureReplica; //宝物副本
|
||||||
|
|
||||||
public void putArchitectureInfo(int key, ArchitectureInfo info) {
|
public void putArchitectureInfo(int key, ArchitectureInfo info) {
|
||||||
this.architectureInfoMap.put(key,info);
|
this.architectureInfoMap.put(key,info);
|
||||||
updateString("architectureInfoMap", architectureInfoMap);
|
updateString("architectureInfoMap", architectureInfoMap);
|
||||||
|
@ -1425,4 +1431,23 @@ public class PlayerManager extends MongoBase {
|
||||||
this.exploreEventMatchDefUid = exploreEventMatchDefUid;
|
this.exploreEventMatchDefUid = exploreEventMatchDefUid;
|
||||||
updateString("exploreEventMatchDefUid",exploreEventMatchDefUid);
|
updateString("exploreEventMatchDefUid",exploreEventMatchDefUid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getEndlessNewReplica() {
|
||||||
|
return endlessNewReplica;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndlessNewReplica(int endlessNewReplica) {
|
||||||
|
this.endlessNewReplica = endlessNewReplica;
|
||||||
|
updateString("endlessNewReplica",endlessNewReplica);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTreasureReplica() {
|
||||||
|
return treasureReplica;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTreasureReplica(int treasureReplica) {
|
||||||
|
this.treasureReplica = treasureReplica;
|
||||||
|
updateString("treasureReplica",treasureReplica);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ public enum TeamEnum {
|
||||||
TEAM_ARENA_ATTACH(201,"竞技场进攻编队(暂时不用)"),
|
TEAM_ARENA_ATTACH(201,"竞技场进攻编队(暂时不用)"),
|
||||||
TRIAL_TEAM(301,"森罗环境编队"),
|
TRIAL_TEAM(301,"森罗环境编队"),
|
||||||
ENDLESS_TEAM(401,"无尽编队"),
|
ENDLESS_TEAM(401,"无尽编队"),
|
||||||
|
ENDLESS_NEW_TEAM(402,"新无尽编队"),
|
||||||
|
TREASURE_TEAM(403,"宝物编队"),
|
||||||
BLOODY_TEAM(701,"血战队伍"),
|
BLOODY_TEAM(701,"血战队伍"),
|
||||||
CHAMPION_ATTACK_TEAM(801,"巅峰赛进攻队伍(暂时不用)"),
|
CHAMPION_ATTACK_TEAM(801,"巅峰赛进攻队伍(暂时不用)"),
|
||||||
EXPEDITION_TEAM(1001,"大闹天宫"),
|
EXPEDITION_TEAM(1001,"大闹天宫"),
|
||||||
|
|
|
@ -51,7 +51,10 @@ public enum GameFightType {
|
||||||
FourChallenge(FightType.FourChallenge,new DefaultWithoutHandFightHandler(),null),
|
FourChallenge(FightType.FourChallenge,new DefaultWithoutHandFightHandler(),null),
|
||||||
SevenWorld(FightType.QIJIE_FIGHT,new SevenWorldFightHandler(),null),
|
SevenWorld(FightType.QIJIE_FIGHT,new SevenWorldFightHandler(),null),
|
||||||
CrossLingMaiSecretFight(FightType.CrossLingMaiSecretFight,new DefaultWithoutHandFightHandler(),null),
|
CrossLingMaiSecretFight(FightType.CrossLingMaiSecretFight,new DefaultWithoutHandFightHandler(),null),
|
||||||
ExploreShouChaoFight(FightType.ExploreShouChao,new DefaultWithoutHandFightHandler(),null),;
|
ExploreShouChaoFight(FightType.ExploreShouChao,new DefaultWithoutHandFightHandler(),null),
|
||||||
|
EndlessNewTeam(FightType.ENDLESS_NEW_TEAM,new DefaultWithoutHandFightHandler(),null),
|
||||||
|
TreasureTeam(FightType.TREASURE_TEAM,new DefaultWithoutHandFightHandler(),null),
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
package config;
|
||||||
|
|
||||||
|
import manager.STableManager;
|
||||||
|
import manager.Table;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Table(name ="ChallengeStage")
|
||||||
|
public class SChallengeStage implements BaseConfig {
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
private int chapter;
|
||||||
|
|
||||||
|
private int section;
|
||||||
|
|
||||||
|
private int nextLevel;
|
||||||
|
|
||||||
|
private int[][] levelLimit;
|
||||||
|
|
||||||
|
private int stageType;
|
||||||
|
|
||||||
|
private int monsterGroup;
|
||||||
|
|
||||||
|
private int[] hardStageBuff;
|
||||||
|
|
||||||
|
private int[][] fixedReward;
|
||||||
|
|
||||||
|
private int[][] passReward;
|
||||||
|
|
||||||
|
private int[][] victoryReward;
|
||||||
|
|
||||||
|
private int[][] reward1;
|
||||||
|
|
||||||
|
private int[] pivilegeID;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() throws Exception {
|
||||||
|
Map<Integer, SChallengeStage> config = STableManager.getConfig(SChallengeStage.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getChapter() {
|
||||||
|
return chapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSection() {
|
||||||
|
return section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNextLevel() {
|
||||||
|
return nextLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getLevelLimit() {
|
||||||
|
return levelLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getStageType() {
|
||||||
|
return stageType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMonsterGroup() {
|
||||||
|
return monsterGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getHardStageBuff() {
|
||||||
|
return hardStageBuff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getFixedReward() {
|
||||||
|
return fixedReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getPassReward() {
|
||||||
|
return passReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getVictoryReward() {
|
||||||
|
return victoryReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getReward1() {
|
||||||
|
return reward1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getPivilegeID() {
|
||||||
|
return pivilegeID;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue