Merge branch 'master_test_hw' into master_test_hw_i18n

back_recharge
lvxinran 2021-01-17 14:45:49 +08:00
commit e55325dd14
36 changed files with 295 additions and 169 deletions

View File

@ -106,7 +106,7 @@ public class CheckFight {
int[] resultCache = new int[8];//对方阵容走配置 Todo 后面结构走配置
resultCache[0]=status;
resultCache[1]=duration;
// LOGGER.info(" lua check test fight result : "+ status);
LOGGER.info(" lua check test fight result : "+ status);
for (int i = 1; i <= result.length(); i++) {
long tolong = result.rawget(i).tolong();
if(tolong>0){
@ -115,7 +115,7 @@ public class CheckFight {
resultCache[i+1]= (int)Math.max((long) Integer.MIN_VALUE,tolong);
}
resultCache[i+1] = result.rawget(i).toint();
// LOGGER.info(i+" --> 单位剩余血量 : "+ resultCache[i+1]);
LOGGER.info(i+" --> 单位剩余血量 : "+ resultCache[i+1]);
}
return resultCache;

View File

@ -127,7 +127,7 @@ public class GmService implements RPCRequestGMIFace.Iface {
if (cmd.contains("delete")) {
FightRecordLogic.getInstance().delete();
} else if (cmd.contains("all")){
String allValue = FightRecordLogic.getInstance().getAll(Integer.parseInt(parameters[2]));
String allValue = FightRecordLogic.getInstance().getAll(Integer.parseInt(parameters[1]));
result.setResultMsg(allValue);
} else {
String oneRecord = FightRecordLogic.getInstance().getOneRecord(parameters[0]);

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.config.clazzStaticCfg;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.logic.hero.HeroLogic;
import config.SArenaRobotConfig;
import config.SCHero;
@ -7,6 +8,7 @@ import config.SWorkShopTechnology;
import manager.AbstractClassStaticConfig;
import manager.STableManager;
import manager.Table;
import rpc.protocols.CommonProto;
import util.MathUtils;
import java.util.*;
@ -25,17 +27,28 @@ public class SArenaRobotStaticConfig extends AbstractClassStaticConfig {
for(SArenaRobotConfig sArenaRobotConfig : integerSArenaRobotConfigMap.values()){
List<Integer> heroList = sArenaRobotConfig.getHeroList();
int heroLevel = sArenaRobotConfig.getRobotLevel();
Map<Integer,Integer> starHeroMap = new HashMap<>();
int heroLevel = sArenaRobotConfig.getRoleLv();
Map<Integer, CommonProto.Hero> heroMap = new HashMap<>();
for(Integer heroTid :heroList){
SCHero scHero = SCHero.getsCHero().get(heroTid);
if(null ==scHero){
throw new IllegalArgumentException("sArenaRobotConfig id "+sArenaRobotConfig.getId()+"机器人英雄模板id找不到 heroTid:"+heroTid);
}
int heroBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid, heroLevel,starHeroMap);
sArenaRobotConfig.setBreakId(heroBreakId);
sArenaRobotConfig.setStarOfHeroMap(starHeroMap);
CommonProto.Hero.Builder heroBuilder = CommonProto.Hero.newBuilder();
int heroStarBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid,heroLevel,heroBuilder);
int heroBreakId = HeroLogic.getInstance().calRobotBreaByLevel(heroTid,heroLevel,heroBuilder);
heroBuilder.setId(String.valueOf(scHero.getId()));
heroBuilder.setHeroId(scHero.getId());
heroBuilder.setLevel(heroLevel);
heroBuilder.setStarBreakId(heroStarBreakId);
heroBuilder.setBreakId(heroBreakId);
heroMap.put(heroTid,heroBuilder.build());
}
sArenaRobotConfig.setHeroMapList(heroMap);
int totleForce = HeroLogic.getInstance().calRobotTotalForce(sArenaRobotConfig);
sArenaRobotConfig.setTotalForce(totleForce);
LinkedList<Integer> integers = force2robotId.get(totleForce);

View File

@ -44,9 +44,14 @@ public class CarDelayFunction implements FunctionManager {
@Override
public void closeAction() throws Exception {
Map<Integer, TreeMap<Integer, String>> rewardByTypeAndRankMap = SWorldBossRewardConfig.rewardByTypeAndRankMap;
// 获取车迟斗法当前boss的索引id
int indexId = GuildFightLogic.carDelayProgressIndication.getBossIndexId();
// 根据索引id取出当前的奖励配置
Map<Integer, TreeMap<Integer, String>> rewardByTypeAndRankMap = SWorldBossRewardConfig.rewardByBossIdMap.get(indexId);
TreeMap<Integer, String> personRewardConfigTreeMap = rewardByTypeAndRankMap.get(2);
TreeMap<Integer, String> guildRewardConfigTreeMap = rewardByTypeAndRankMap.get(1);
Set<ZSetOperations.TypedTuple<String>> personRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CAR_DEALY_RANK, "", 0, -1);
int rank=0;
String personTitle = SErrorCodeEerverConfig.getI18NMessage("family_fight_rank_personreward_title");

View File

@ -306,4 +306,6 @@ public interface BIReason {
int NEW_GENERAL_ATTACK = 1076;//新将来袭
int WORLD_ARENA = 1077;//跨服竞技场
int SHEJI_ACTIVITY_INIT_CONSUME = 1078;//社稷大典开始清除往期道具
}

View File

@ -0,0 +1,61 @@
package com.ljsd.jieling.handler;
import com.google.protobuf.GeneratedMessage;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.util.ItemUtil;
import config.SFloodConfig;
import manager.STableManager;
import org.springframework.stereotype.Component;
import rpc.protocols.CommonProto;
import rpc.protocols.MapInfoProto;
import rpc.protocols.MessageTypeProto;
import java.util.Set;
/**
*
*/
@Component
public class GetDemonsTrialRewardHandler extends BaseHandler<MapInfoProto.DemonsTrialRewardRequest> {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.DemonsTrialRewardRequest;
}
@Override
public GeneratedMessage processWithProto(int uid, MapInfoProto.DemonsTrialRewardRequest proto) throws Exception {
// 用户信息
User user = UserManager.getUser(uid);
if (user == null) {
throw new ErrorCodeException(ErrorCode.UNKNOWN);
}
// 层id
int layerId = proto.getLayerId();
// 奖励是否已经领取
Set<Integer> rewardInfo = user.getMapManager().getDemonsTrialRewardInfo();
if (rewardInfo.contains(layerId)) {
throw new ErrorCodeException(ErrorCode.HAD_TAKE_REWARD);
}
// 表里是否有配置
SFloodConfig sFloodConfig = STableManager.getConfig(SFloodConfig.class).get(layerId);
int[][] reward = sFloodConfig.getSpecialReward();
if (reward == null || reward.length <= 0) {
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
}
// 道具逻辑,封装好的
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
// 领取奖励
ItemUtil.drop(user, reward, drop, BIReason.MONSTERATTACK_REWARD);
user.getMapManager().addDemonsTrialRewardInfo(layerId);
return MapInfoProto.DemonsTrialRewardResponse.newBuilder().setDrop(drop).build();
}
}

View File

@ -27,7 +27,6 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import rpc.protocols.CommonProto;
import rpc.protocols.MessageTypeProto;
import rpc.protocols.PlayerInfoProto;
import com.ljsd.jieling.thread.task.RPCServerTask;
import com.ljsd.jieling.util.CBean2Proto;
import com.ljsd.jieling.util.ItemUtil;
@ -37,6 +36,7 @@ import manager.STableManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import rpc.protocols.PlayerInfoProto;
import util.TimeUtils;
import java.util.*;
@ -220,6 +220,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.setHadLuckTime( user.getPlayerInfoManager().getLuckWheelLimitTime())
.setHadAdvanceLuckTime(user.getPlayerInfoManager().getLuckAdvanceWheelLimitTime())
.setWorldLeve(GlobleSystemLogic.getGloableWorldLeveCache())
.addAllDemonsTrialRewardInfo(user.getMapManager().getDemonsTrialRewardInfo())
.build();
ReportUtil.onReportEvent(user, ReportEventEnum.APP_LOGIN.getType());
try {

View File

@ -1,23 +0,0 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.logic.GlobalDataManaager;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import rpc.protocols.MessageTypeProto;
import rpc.protocols.PlayerInfoProto;
import org.springframework.stereotype.Component;
@Component
public class ServerFiveHandler extends BaseHandler{
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.SERVER_FIVE_REQEUST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
GlobalDataManaager.checkNeedReFlush(iSession, UserManager.getUser(iSession.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder());
}
}

View File

@ -25,7 +25,7 @@ public class ServerZeroHandler extends BaseHandler {
GlobalDataManaager.flushGoodsTimes(user);
PlayerLogic.getInstance().sendDayilyMail(user,-1);
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
GlobalDataManaager.checkNeedReFlush(session, UserManager.getUser(session.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder());
// int indicationIndex = session.getIndicationIndex();
// byte[] byteBuf = MessageUtil.wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,1, MessageTypeProto.MessageType.ZeroPlayerUpdateIndication_VALUE, PlayerInfoProto.ZeroPlayerUpdateIndication.newBuilder().build());

View File

@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.dao.UserManager;
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.item.ItemLogic;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.util.ItemUtil;
import config.SMonsterConfig;
@ -59,6 +60,7 @@ public class NewGeneralAttackHandler extends BaseHandler<ActivityProto.NewGenera
// 读表
int monsterGroupId = newHeroConfig.getMonsterGroup(); //怪物id
int monsterId = 0;
double bossBlood = 0.0; //怪物血量
int[][] hurtList = newHeroConfig.getDropCell(); //伤害奖励表
@ -73,6 +75,7 @@ public class NewGeneralAttackHandler extends BaseHandler<ActivityProto.NewGenera
// 怪物不存在
continue;
}
monsterId = ints[j];
SMonsterConfig monsterConfig = STableManager.getConfig(SMonsterConfig.class).get(ints[j]);
// 计算总血量
bossBlood+=monsterConfig.getHp();
@ -102,11 +105,9 @@ public class NewGeneralAttackHandler extends BaseHandler<ActivityProto.NewGenera
int[] checkResult = fightResult.getCheckResult();
double lessBlood = 0.0;
int hurtResult = 0;
// checkResult第一位输赢1赢其他输
if (checkResult[0] == 1){
lessBlood = bossBlood;
hurtResult = checkResult[1];
}else {
// checkResult第三位开始为血量下标0开始
for (int i = 2; i < checkResult.length; i++) {
@ -128,21 +129,26 @@ public class NewGeneralAttackHandler extends BaseHandler<ActivityProto.NewGenera
// 道具逻辑,封装好的
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
// 战报返回
List<String> dropResult = new ArrayList<>();
for (int i = 0; i < hurtList.length; i++) {
// 当前类型奖励次数
float v = b / hurtList[i][0];
int v = (int)b / hurtList[i][0];
dropList[0] = hurtList[i][1];
ItemUtil.drop(user, dropList,drop,v,0, BIReason.NEW_GENERAL_ATTACK);
dropResult.add(dropList[0] + "#" + v);
}
// 消耗道具
PlayerLogic.getInstance().checkAndUpdate(user, proto.getPrivilageTypeId(),1);
// 战报记录,奖励信息
List<String> dropResult = new ArrayList<>();
List<CommonProto.Item> list = drop.build().getItemlistList();
for (int i = 0; i < list.size(); i++) {
String str = list.get(i).getItemId() + "#" + list.get(i).getItemNum();
dropResult.add(str);
}
// 埋点
ReportUtil.onReportEvent(user, ReportEventEnum.VANQUISH_BOSS.getType(), monsterGroupId,checkResult[0],hurtResult,dropResult);
ReportUtil.onReportEvent(user, ReportEventEnum.VANQUISH_BOSS.getType(), monsterId,(int)lessBlood,dropResult);
return ActivityProto.NewGeneralAttackResponse.newBuilder().setFightData(fightData).setDrop(drop).build();
}

View File

@ -107,6 +107,8 @@ public class MapManager extends MongoBase {
private int lastMonsterAttack =1;//兽潮来袭波数
private Set<Integer> demonsTrialRewardInfo;// 心魔试炼已领取奖励
private Set<Integer> playedMapType = new HashSet<>();
private TrialInfo trialInfo = new TrialInfo();
@ -860,7 +862,26 @@ public class MapManager extends MongoBase {
public void setCurrentJourneyId(int currentJourneyId) {
this.currentJourneyId = currentJourneyId;
updateString("currentJourneyId",currentJourneyId);
}
public Set<Integer> getDemonsTrialRewardInfo() {
if (demonsTrialRewardInfo == null){
return new TreeSet<>();
}
return demonsTrialRewardInfo;
}
public void setDemonsTrialRewardInfo(Set<Integer> demonsTrialRewardInfos) {
demonsTrialRewardInfo = demonsTrialRewardInfos;
updateString("demonsTrialRewardInfo",demonsTrialRewardInfo);
}
public void addDemonsTrialRewardInfo(int layerId) {
if (demonsTrialRewardInfo == null){
demonsTrialRewardInfo = new TreeSet<>();
}
demonsTrialRewardInfo.add(layerId);
updateString("demonsTrialRewardInfo",demonsTrialRewardInfo);
}
}

View File

@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
import com.ljsd.jieling.logic.hero.HeroLogic;
import rpc.protocols.CommonProto;
import rpc.protocols.Expedition;
import rpc.protocols.MessageTypeProto;
import com.ljsd.jieling.util.MessageUtil;
@ -156,14 +157,14 @@ public class Cmd_role_gm extends GmRoleAbstract {
SnapFightInfo fightInfo = new SnapFightInfo();
int force = sArenaRobotConfig.getTotalForce();
Map<String, FamilyHeroInfo> heroAllAttribute = new HashMap<>();
Map<Integer, Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
Map<String, Double> bossHP = new HashMap<>();
int inner=1;
for (Map.Entry<Integer, Integer> item : heroStarsMap.entrySet()) {
for (Map.Entry<Integer, CommonProto.Hero> item : heroMapList.entrySet()) {
StringBuilder skillSb = new StringBuilder();
Integer heroTid = item.getKey();
Integer heroStar = item.getValue();
Integer heroStar = item.getValue().getStar();
SCHero scHero = SCHero.getsCHero().get(heroTid);
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
@ -175,7 +176,7 @@ public class Cmd_role_gm extends GmRoleAbstract {
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
int robotLevel = sArenaRobotConfig.getRoleLv();
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false);
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false);
heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,inner++));
// String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString();
}

View File

@ -95,7 +95,7 @@ public enum ReportEventEnum {
ARENA_CHALLENGE(66,"arena_challenge",CommonEventHandler.getInstance(),new String[]{"battle_result","own_integral_num","rewards_num","own_new_integral_num","own_ranking","role_id","enemy_integral_num","new_enemy_integral_num","enemy_ranking","hero1","hero2","hero3","hero4","hero5","hero6","attack_pokemon","defend_hero1","defend_hero2","defend_hero3","defend_hero4","defend_hero5","defend_hero6","defend_pokemon"}),
CEREMONY(67,"ceremony",CommonEventHandler.getInstance(),new String[]{"cost_item_id","integral_num","new_integral_num","own_ranking","guild_ranking"}),
TREASURE_SUMMON(68,"treasure_summon",CommonEventHandler.getInstance(),new String[]{"beast_id","summon_type","cost_item_id","cost_amount","reward_nums_list"}),// 降妖夺宝
VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","battle_result","damage_num","reward_nums_list"}),// 新将来袭
VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","damage_num","reward_nums_list"}),// 新将来袭
VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""});

View File

@ -331,7 +331,7 @@ public class GlobalDataManaager implements IManager {
public static void checkNeedReFlush(ISession session,User user,PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception {
// 需要隔天刷新的字段统一在这里处理
if (TimeUtils.isOverTime(5,user.getPlayerInfoManager().getLoginTime())) {
if (TimeUtils.isOverTime(0,user.getPlayerInfoManager().getLoginTime())) {
//活动刷新
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
@ -345,7 +345,7 @@ public class GlobalDataManaager implements IManager {
PlayerLogic.getInstance().sendTimingMail(user);
user.getGuildMyInfo().setLastHurt(0);
// GuildChallengeLogic.getInstance().resetBossDamage(user);
if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,5)){
if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){
user.getPlayerInfoManager().updateSituationPass(new HashMap<>());
}
if(fBuilder!=null){
@ -450,9 +450,6 @@ public class GlobalDataManaager implements IManager {
case 0:
number = MessageTypeProto.MessageType.SERVER_ZERO_REQUEST_VALUE;
break;
case 5:
number = MessageTypeProto.MessageType.SERVER_FIVE_REQEUST_VALUE;
break;
default:{
LOGGER.info("everTask wrong case=>{}", hour);
break;

View File

@ -69,7 +69,7 @@ public class SituationLogic {
overTime = new int[4];
doCheck();
}else{
if(TimeUtils.getHourOfDay()!=5){
if(TimeUtils.getHourOfDay()!=0){
return;
}
doCheck();
@ -82,9 +82,6 @@ public class SituationLogic {
long now = TimeUtils.now();
int hourOfDay = TimeUtils.getHourOfDay();
int week = TimeUtils.getDayOfWeek();
if(hourOfDay<5){
week = week==1?7:week-1;
}
boolean isIndication = false;
for(int[] config:openConfig){
boolean isOpen = false;
@ -98,12 +95,12 @@ public class SituationLogic {
isIndication = true;
}
status[config[0]-1] = isOpen?1:0;
overTime[config[0]-1] =isOpen?(int)(TimeUtils.getLastOrUnderHour(now,5,0,false)/1000):0;
overTime[config[0]-1] =isOpen?(int)(TimeUtils.getLastOrUnderHour(now,0,0,false)/1000):0;
}
if(isIndication){
//周一刷新
boolean remove = false;
if(TimeUtils.getDayOfWeek()==1&&TimeUtils.getHourOfDay()==5&&TimeUtils.getMiunte()==0){
if(TimeUtils.getDayOfWeek()==1&&TimeUtils.getHourOfDay()==0&&TimeUtils.getMiunte()==0){
remove = true;
}
if(remove){

View File

@ -1332,12 +1332,12 @@ public class ActivityLogic implements IEventHandler{
}
public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000);
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0,0, false)/1000);
int uid = session.getUid();
User user = UserManager.getUser(uid);
PlayerInfoProto.TreasureRefreshTimeResponse response;
if(user.getActivityManager().getActivityMissionMap().containsKey(801)){
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,0)/1000);
response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build();
}else{
long weekRefresh = user.getUserMissionManager().getTreasureMissionIdsType().getWeekRefresh();
@ -1347,8 +1347,8 @@ public class ActivityLogic implements IEventHandler{
}
public void getJadeDynastyNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000);
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0,0, false)/1000);
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,0)/1000);
PlayerInfoProto.JadeDynastyRefreshTimeResponse response = PlayerInfoProto.JadeDynastyRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
}

View File

@ -21,7 +21,7 @@ public class NewEightActivity extends AbstractActivity {
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
User user = UserManager.getUser(session.getUid());
if(TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(),System.currentTimeMillis(),5)<sActivityRewardConfig.getValues()[0][0]-1){
if(TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(),System.currentTimeMillis(),0)<sActivityRewardConfig.getValues()[0][0]-1){
return false;
}
return true;

View File

@ -21,7 +21,7 @@ class RechargeTotalActivity extends AbstractActivity {
long now = TimeUtils.now();
User user = UserManager.getUser(session.getUid());
RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo();
int days = TimeUtils.differentDaysByHour(rechargeInfo.getCreateTime(), now,5) + 1;
int days = TimeUtils.differentDaysByHour(rechargeInfo.getCreateTime(), now,0) + 1;
if (missionProgress/1000 < values[0][0] || days < values[0][1]) {
return false;
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.core.Lockeys;
import com.ljsd.jieling.core.SimpleTransaction;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
@ -12,6 +13,7 @@ import com.ljsd.jieling.logic.activity.event.CommitSheJiEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.GuilidManager;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.GuildInfo;
import com.ljsd.jieling.logic.dao.root.User;
@ -61,6 +63,12 @@ class SheJiActivity extends AbstractActivity {
// }
// }
int costItemId = 50003;//社稷赏
Item item = user.getItemManager().getItem(costItemId);
if(item!=null&&item.getItemNum()!=0){
ItemUtil.itemCost(user,new int[][]{{costItemId,item.getItemNum()}}, BIReason.SHEJI_ACTIVITY_INIT_CONSUME,1);
}
}

View File

@ -617,7 +617,8 @@ public class ArenaLogic {
.setFightId(FightUtil.getFightId(mine.getId(),FightType.Firend.getType()))
.build();
// 记录战报
FightRecordLogic.getInstance().addRecordMap(mine,build);
ArenaInfoProto.PlayWithSbResponse response = ArenaInfoProto.PlayWithSbResponse.newBuilder().setFightData(build).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.PLAY_WITH_SB_RESPONSE_VALUE,response,true);

View File

@ -399,12 +399,9 @@ public class PlayerManager extends MongoBase {
}else {
maxTime = TimeUtils.now()/1000+config.getContinueTime()[0];
}
//todo 记得删掉
if(privilageId==4013){
maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,5,0,true)/1000);
}else{
maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,0,0,true)/1000);
}
maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,0,0,true)/1000);
newVipInfo.setEffectTime((int)maxTime);
}
this.vipInfo.put(privilageId,newVipInfo);

View File

@ -100,7 +100,7 @@ public class UserMissionManager extends MongoBase {
int activityId = (int) parm[0];//当前轮次青龙秘宝的活动ID
int[] refreshIds = resetTreasureTaskInfo(1,activityId,missionTypeEnumListMap,treasureCumulationData);
treasureCumulationData = new CumulationData();
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0,false)/1000);
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0, 0,false)/1000);
CommonProto.RefreshTask.Builder task = treasureIndicationBuild(1, refreshIds).setRefreshTime(dayRefreshTime);
PlayerInfoProto.TreasureRefreshIndication indication1 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task.build()).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);
@ -110,7 +110,7 @@ public class UserMissionManager extends MongoBase {
int[] weekRefreshIds = resetTreasureTaskInfo(2,aId,missionTypeEnumListMap,treasureWeekCumulationData);
if(weekRefreshIds != null){
treasureWeekCumulationData = new CumulationData();
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,0)/1000);
user.getPlayerInfoManager().clearVipCount(VipPrivilegeType.DRAGON_TREASURE_SUPPLY);
CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekRefreshIds).setRefreshTime(weekRefreshTime);
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task2.build()).build();
@ -541,14 +541,14 @@ public class UserMissionManager extends MongoBase {
}
do{
startTime += TimeUtils.WEEK;
}while(startTime+5*TimeUtils.HOUR<TimeUtils.now()&&startTime+5*TimeUtils.HOUR<endTime);
}while(startTime<TimeUtils.now()&&startTime<endTime);
//如果小于两周 直接到结束
if(endTime-startTime-5*TimeUtils.HOUR<TimeUtils.WEEK){
if(endTime-startTime<TimeUtils.WEEK){
startTime = endTime;
}
treasureMissionIdsType.setWeekRefresh(startTime+5*TimeUtils.HOUR);
treasureMissionIdsType.setWeekRefresh(startTime);
}else{
if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 5)) {
if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 0)) {
return null;
}
treasureMissionIdsType.setWeekRefresh(TimeUtils.now());

View File

@ -27,7 +27,7 @@ public class WorldTreasureReward extends MongoBase {
SExpeditionSetting setting = STableManager.getConfig(SExpeditionSetting.class).get(1);
int treasureTime = setting.getTreasureTime()[0][1];
if(createTime == 0){
createTime =(int)((TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, true)+TimeUtils.DAY*treasureTime)/1000);
createTime =(int)((TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0,0, true)+TimeUtils.DAY*treasureTime)/1000);
}else{
do{
createTime+=TimeUtils.DAY*treasureTime/1000;

View File

@ -525,14 +525,14 @@ public class ExpeditionLogic {
SnapFightInfo fightInfo = new SnapFightInfo();
int force = sArenaRobotConfig.getTotalForce();
Map<String, FamilyHeroInfo> heroAllAttribute = new HashMap<>();
Map<Integer, Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
Map<String, Double> bossHP = new HashMap<>();
int innerPosition= 1;
for (Map.Entry<Integer, Integer> item : heroStarsMap.entrySet()) {
for (Map.Entry<Integer, CommonProto.Hero> item : heroMapList.entrySet()) {
StringBuilder skillSb = new StringBuilder();
Integer heroTid = item.getKey();
Integer heroStar = item.getValue();
Integer heroStar = item.getValue().getStar();
SCHero scHero = SCHero.getsCHero().get(heroTid);
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
@ -544,7 +544,7 @@ public class ExpeditionLogic {
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
int robotLevel = sArenaRobotConfig.getRoleLv();
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false);
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false);
heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,innerPosition++));
// String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString();
}

View File

@ -395,7 +395,7 @@ public class GuildChallengeLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
guildInfo.setBuffIndex(guildInfo.getBuffIndex()+1);
int fiveTime = (int)(TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0, false)/1000);
int fiveTime = (int)(TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0, 0, false)/1000);
guildInfo.setBuffOverTime(Math.min(time,fiveTime));
}
Family.GuildChallengeBuyBuffIndication indication = Family.GuildChallengeBuyBuffIndication.newBuilder()

View File

@ -85,7 +85,7 @@ public class FightRecordLogic {
}
// 获取类型数据
List<String> strings = valueMap.get(multiKey);
if (strings.isEmpty()){
if (strings == null || strings.isEmpty()){
return null;
}
// 遍历

View File

@ -418,13 +418,13 @@ public class FightUtil {
}
private static CommonProto.FightTeamInfo getRobotFightTeamInfo(SArenaRobotConfig sArenaRobotConfig,Map<String,Double> remainHp) {
List<CommonProto.FightUnitInfo> heroFightInfos = new ArrayList<>();
Map<Integer,Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
int i=0;
for(Map.Entry<Integer,Integer> item : heroStarsMap.entrySet()){
for(Map.Entry<Integer,CommonProto.Hero> item : heroMapList.entrySet()){
StringBuilder skillSb = new StringBuilder();
StringBuilder propertySb = new StringBuilder();
Integer heroTid = item.getKey();
Integer heroStar = item.getValue();
Integer heroStar = item.getValue().getStar();
SCHero scHero = SCHero.getsCHero().get(heroTid);
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
String heroSkill = HeroLogic.getInstance().getRobotHeroSkills(skillIds,skillSb).toString();
@ -432,7 +432,7 @@ public class FightUtil {
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
int robotLevel = sArenaRobotConfig.getRoleLv();
Map<Integer, Integer> robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv,false);
Map<Integer, Integer> robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv,false);
if(remainHp!=null&&remainHp.containsKey(heroTid.toString())){
robotHeroAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),(int)(remainHp.getOrDefault(heroTid.toString(),1d)*robotHeroAttribute.get(HeroAttributeEnum.Hp.getPropertyId())));

View File

@ -1186,21 +1186,55 @@ public class HeroLogic{
return result;
}
//根据英雄等级计算出brealId,从而也可以获取星级
public int calRobotStarByLevel(int heroTid,int heroLevel,Map<Integer,Integer> starHeroMap){
/**
* starBrealId
* @param heroTid
* @param heroLevel
* @param heroBuilder
* @return
*/
public int calRobotStarByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){
SCHero scHero = SCHero.getsCHero().get(heroTid);
int star = scHero.getStar();
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
if(scHeroRankUpConfigByType == null){
scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
return 0;
}
// 无奈方式代码写死验证机器人等级小于100级为未升星
if (heroLevel <= 100){
return 0;
}
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){
if (heroLevel>=scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){
starHeroMap.put(heroTid,scHeroRankUpConfig.getOpenStar());
if (heroLevel <= scHeroRankUpConfig.getOpenLevel()){
heroBuilder.setStar(scHeroRankUpConfig.getOpenStar());
return scHeroRankUpConfig.getId();
}
}
starHeroMap.put(heroTid,star);
heroBuilder.setStar(star);
return 0;
}
/**
* BrealId
* @param heroTid
* @param heroLevel
* @param heroBuilder
* @return
*/
public int calRobotBreaByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){
SCHero scHero = SCHero.getsCHero().get(heroTid);
int star = scHero.getStar();
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
if(scHeroRankUpConfigByType == null){
return 0;
}
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){
if (heroLevel >= scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){
heroBuilder.setStar(scHeroRankUpConfig.getOpenStar());
return scHeroRankUpConfig.getId();
}
}
heroBuilder.setStar(star);
return 0;
}
@ -1861,7 +1895,16 @@ public class HeroLogic{
return builder.toString();
}
/**
*
* @param scHero
* @param heroLevel
* @param heroBrekId calRobotHeroAllAttribute使0
* @param pokemonIds
* @param pokemonLevel
* @param isForce
* @return
*/
public Map<Integer,Integer> calRobotHeroAttribute(SCHero scHero,int heroLevel,int heroBrekId,int[] pokemonIds,int pokemonLevel,boolean isForce){
Map<Integer, Integer> heroAllAttribute = calRobotHeroAllAttribute(scHero.getId(),heroLevel,heroBrekId,isForce);
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
@ -2298,9 +2341,8 @@ public class HeroLogic{
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
int heroLevel = sArenaRobotConfig.getRoleLv();
for(Integer heroTid :heroList){
int heroBreakId = sArenaRobotConfig.getBreakId();
SCHero scHero = SCHero.getsCHero().get(heroTid);
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true);
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true);
totalForce+=calForce(robotHeroAttribute);
}
return totalForce;

View File

@ -613,9 +613,9 @@ public class PlayerLogic {
}
teamInfo.setTotalForce(sArenaRobotConfig.getTotalForce());
int position = 1;
for(Map.Entry<Integer,Integer> item : sArenaRobotConfig.getStarOfHeroMap().entrySet()){
for(Map.Entry<Integer,CommonProto.Hero> item : sArenaRobotConfig.getHeroMapList().entrySet()){
Integer heroTid = item.getKey();
Integer heroStar = item.getValue();
Integer heroStar = item.getValue().getStar();
teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder().setHeroid(String.valueOf(heroTid)).setHeroTid(heroTid).setLevel(sArenaRobotConfig.getRoleLv()).setStar(heroStar).setPosition(position++).build());
}
oneInfo.setTeam(teamInfo);
@ -649,16 +649,15 @@ public class PlayerLogic {
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
int heroLevel = sArenaRobotConfig.getRoleLv();
int heroBreakId = sArenaRobotConfig.getBreakId();
SCHero scHero = SCHero.getsCHero().get(Integer.parseInt(robotHeroId));
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true);
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true);
for(Map.Entry<Integer,Integer> item : robotHeroAttribute.entrySet()){
builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(item.getKey()).setPropertyValue(item.getValue()).build());
}
builder.setForce(HeroLogic.getInstance().calForce(robotHeroAttribute));
builder.setHero(CBean2Proto.getRobotHero(scHero,sArenaRobotConfig));
builder.setHero(sArenaRobotConfig.getHeroMapList().get(scHero.getId()));
int resMsgId = MessageTypeProto.MessageType.VIEW_HERO_INFO_RESPONSE_VALUE;
MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true);

View File

@ -6,10 +6,10 @@ import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.rank.IRank;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.ZSetOperations;
import rpc.protocols.PlayerInfoProto;
import java.util.Objects;
import java.util.Set;
@ -34,7 +34,7 @@ public abstract class AbstractRank implements IRank {
* @return
* @throws Exception
*/
public PlayerInfoProto.RankResponse getRank(int uid,String rkey,int page,int rankEndLine) throws Exception {
public PlayerInfoProto.RankResponse getRank(int uid, String rkey, int page, int rankEndLine) throws Exception {
if(rankEndLine==-1){
rankEndLine = 100;
}
@ -102,6 +102,9 @@ public abstract class AbstractRank implements IRank {
}
ZSetOperations.TypedTuple<String> data = rankByKey.iterator().next();
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
if (everyUser == null){
return builder;
}
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(1)
.setParam1(getParam1(data.getScore()))
@ -121,9 +124,12 @@ public abstract class AbstractRank implements IRank {
});
return builder;
}
protected void getOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
protected void getOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
if (everyUser == null){
return;
}
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(index)
.setParam1(getParam1(data.getScore()))

View File

@ -91,12 +91,6 @@ public class MinuteTask extends Thread {
e.printStackTrace();
LOGGER.error("Exception::=>{}",e.toString());
}
try {
everyFiveTask();
}catch (Exception e){
e.printStackTrace();
LOGGER.error("Exception::=>{}",e.toString());
}
try {
everyMondyFiveClockTask();
}catch (Exception e){
@ -168,23 +162,7 @@ public class MinuteTask extends Thread {
}
}
//弃用
// private void fiveMinuteOnlineSend() {
// Calendar calendar = Calendar.getInstance();
// int minute = calendar.get(Calendar.MINUTE);
// if(minute%5 == 0){
// KTAppOnline ktAppOnline = new KTAppOnline();
// int onlineNum = OnlineUserManager.sessionMap.size();
// ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent);
// int time =(int)(calendar.getTimeInMillis()/1000);
// paramEventBean.add(String.valueOf(time));
// paramEventBean.add(String.valueOf(onlineNum));
// ktAppOnline.setParam_event(paramEventBean);
// ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem());
// ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP);
// DataMessageUtils.addLogQueue(ktAppOnline);
// }
// }
//每分钟异步上报在线人数
private void reportUserOnline() {
new OnlineUserReportTask().start();
@ -206,28 +184,17 @@ public class MinuteTask extends Thread {
LOGGER.info("everyHourTask end ...");
}
}
//每日凌晨零点执行
public void everyZeroTask() throws Exception {
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
if(hour == 0 && minute ==0){
LOGGER.info("DailyOfZeroTask start ...");
ArenaLogic.getInstance().sendReward(GlobalsDef.ARENA_DAILY_REWARD);
GlobalDataManaager.everTask(0);
LOGGER.info("DailyOfZeroTask end ...");
}
}
//每日凌晨五点执行
public void everyFiveTask() throws Exception {
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
if(hour == 5 && minute ==0){
//保证每分钟线程
try {
ArenaLogic.getInstance().sendReward(GlobalsDef.ARENA_DAILY_REWARD);
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;
for(Map.Entry<Integer,GuildInfo> guildInfoEntry:guildInfoMap.entrySet()){
RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.GUILD_RED_PACKAGE_RANK,String.valueOf(guildInfoEntry.getKey()),false));
@ -265,7 +232,7 @@ public class MinuteTask extends Thread {
LOGGER.info("DailyOfFiveTask start ...");
GlobalDataManaager.everTask(5);
GlobalDataManaager.everTask(0);
LOGGER.info("DailyOfFiveTask end ...");
}
}

View File

@ -110,7 +110,7 @@ public class CBean2Proto {
.build();
}
public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception {
/* public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception {
return CommonProto.Hero
.newBuilder()
.setId(String.valueOf(scHero.getId()))
@ -118,8 +118,9 @@ public class CBean2Proto {
.setLevel(sArenaRobotConfig.getRoleLv())
.setStar(sArenaRobotConfig.getStarOfHeroMap().get(scHero.getId()))
.setBreakId(sArenaRobotConfig.getBreakId())
.setStarBreakId(sArenaRobotConfig.getStarBreakId())
.build();
}
}*/
public static CommonProto.Mail getMail(Mail mail){
CommonProto.Mail.Builder mailProto = CommonProto.Mail

View File

@ -37,8 +37,8 @@ public class MessageUtil {
backMessage = new byte[0];
} else {
backMessage = generatedMessage.toByteArray();
if (backMessage.length != 0)
LOGGER.info("wrappedBuffer uid=>{}, generatedMessage=>{}", uid, JsonFormat.printToString(generatedMessage));
// if (backMessage.length != 0)
// LOGGER.info("wrappedBuffer uid=>{}, generatedMessage=>{}", uid, JsonFormat.printToString(generatedMessage));
}
return wrappedBuffer(uid, token, index, result, msgId, backMessage);

View File

@ -2,6 +2,7 @@ package config;
import manager.STableManager;
import manager.Table;
import rpc.protocols.CommonProto;
import java.util.ArrayList;
import java.util.HashMap;
@ -34,11 +35,15 @@ public class SArenaRobotConfig implements BaseConfig {
private int breakId;
private int starBreakId;
private Map<Integer,Integer> starOfHeroMap;
private Map<Integer, CommonProto.Hero> heroMapList;
private static Map<Integer, List<SArenaRobotConfig>> sArenaRobotConfigByPoolMap;
private static Map<Integer, SArenaRobotConfig> sArenaRobotConfigMap;
private static Map<Integer, SArenaRobotConfig> sArenaRobotConfigMap;
@Override
@ -123,23 +128,15 @@ public class SArenaRobotConfig implements BaseConfig {
this.totalForce = totalForce;
}
public Map<Integer, Integer> getStarOfHeroMap() {
return starOfHeroMap;
}
public int getBreakId() {
return breakId;
}
public void setBreakId(int breakId) {
this.breakId = breakId;
}
public void setStarOfHeroMap(Map<Integer, Integer> starOfHeroMap) {
this.starOfHeroMap = starOfHeroMap;
}
public int getRobotLevel() {
return robotLevel;
}
public Map<Integer, CommonProto.Hero> getHeroMapList() {
return heroMapList;
}
public void setHeroMapList(Map<Integer, CommonProto.Hero> heroMapList) {
this.heroMapList = heroMapList;
}
}

View File

@ -13,6 +13,10 @@ public class SFloodConfig implements BaseConfig {
private int battleTime;
private int force;
private int[][] specialReward;
@Override
public void init() throws Exception {
}
@ -34,5 +38,11 @@ public class SFloodConfig implements BaseConfig {
return battleTime;
}
public int getForce() {
return force;
}
public int[][] getSpecialReward() {
return specialReward;
}
}

View File

@ -19,23 +19,36 @@ public class SWorldBossRewardConfig implements BaseConfig {
private int type;
public static Map<Integer, TreeMap<Integer,String>> rewardByTypeAndRankMap = new HashMap<>();
private int bossId;
/**
*
*/
public static Map<Integer,TreeMap<Integer,String>> rewardByTypeAndRankMap = new HashMap<>();
/**
* bossid
*/
public static Map<Integer,TreeMap<Integer, TreeMap<Integer,String>>> rewardByBossIdMap = new HashMap<>();
@Override
public void init() throws Exception {
Map<Integer, SWorldBossRewardConfig> config = STableManager.getConfig(SWorldBossRewardConfig.class);
Map<Integer, TreeMap<Integer,String>> rewardByTypeAndRankMapTmp = new HashMap<>();
Map<Integer, TreeMap<Integer,String>> rewardByTypeAndRankMapTmp = new HashMap<>();
Map<Integer,TreeMap<Integer, TreeMap<Integer,String>>> rewardByBossIdMapTmp = new HashMap<>();
config.forEach((id,item)->{
rewardByTypeAndRankMapTmp.putIfAbsent(item.getType(),new TreeMap<>());
rewardByTypeAndRankMapTmp.get(item.getType()).put(item.getSection()[0], StringUtil.parseArrayToString(item.getReward()));
});
rewardByTypeAndRankMap = rewardByTypeAndRankMapTmp;
rewardByBossIdMapTmp.putIfAbsent(item.getBossId(),new TreeMap<>());
rewardByBossIdMapTmp.get(item.getBossId()).putIfAbsent(item.getType(),new TreeMap<>());
rewardByBossIdMapTmp.get(item.getBossId()).get(item.getType()).put(item.getSection()[0], StringUtil.parseArrayToString(item.getReward()));
});
rewardByTypeAndRankMap = rewardByTypeAndRankMapTmp;
rewardByBossIdMap = rewardByBossIdMapTmp;
}
public int getId() {
public int getId() {
return id;
}
@ -50,4 +63,8 @@ public class SWorldBossRewardConfig implements BaseConfig {
public int getType() {
return type;
}
public int getBossId() {
return bossId;
}
}