1、战斗同步

2、巅峰赛日志
back_recharge
duhui 2023-04-14 14:46:17 +08:00
parent 20263675c2
commit 55d0d11ae1
9 changed files with 399 additions and 218 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3245,6 +3245,9 @@ local passivityList = {
type=0
end
local onBeSkillCastEnd = function(atkRole, damage, bCrit, finalDmg, damageType, skill)
if skill==nil then
return
end
if type==0 and (skill.type~=BattleSkillType.Normal and skill.type~=BattleSkillType.ChaosNormal) then
return
end
@ -7849,7 +7852,7 @@ local passivityList = {
if not list or #list ==0 then
return
end
list=BattleUtil.SortByRage(list,0)
list=BattleUtil.SortByRage(list,1)
-- list[1]:CastSkill()
BattleLogic.InsertSkillRole(list[1])
end

View File

@ -188,7 +188,7 @@ function BattleLogic.InitOrder()
local enemyWeaponList = fightData.enemyData[1].weaponList
if enemyWeaponList then
for i=1, #enemyWeaponList do
LogError("创建一个神兵")
--LogError("创建一个神兵")
FightWeaponManager.AddWeapon(enemyWeaponList[i])
end
end
@ -606,7 +606,6 @@ function BattleLogic.BattleEnd(result)
local v1 = HardStageCondition.CheckCondition(harConfig.ConditionType,harConfig.ConditionValue)
table.insert(levelStarRecord,hardStageConfig.ConditionValue[i])
table.insert(levelStarRecord,v1)
print("k=="..hardStageConfig.ConditionValue[i].." v=="..v1)
end
end
end

View File

@ -1,42 +1,281 @@
v1.0.127
1.被动327修改
v1.0.126
1. 注释无用log
v1.0.125
1. 添加神兵战斗
v1.0.124
1. 被动441修改
v1.0.123
1. 修改困难副本星级条件
v1.0.122
1. 添加女娲,阎罗王新英雄
v1.0.121
1. 战斗添加回合最大伤害治疗限制
v1.0.120
1. 添加金翅大鹏变身卡
v1.0.119
1. 添加法相相关被动 454被动
v1.0.118
1. 添加152效果
v1.0.117
1. 添加151效果
2. 御甲也对间接伤害生效
v1.0.116
1. 187被动治疗神将也会生效
v1.0.115
1.添加被动444445
v1.0.114
1.被动273189184修改
master_zh_test同步数据表2022_09_02_16_53_59
master_zh_test同步数据表2022_08_24_16_07_52
v1.0.113
1.被动387 437修改
master_zh_test同步数据表2022_08_17_18_26_38
master_zh_test同步数据表2022_08_10_18_33_50
master_zh_test同步数据表2022_08_10_17_37_10
master_zh_test同步数据表2022_08_10_15_22_09
master_zh_test同步数据表2022_08_03_17_06_59
v1.0.112
1.online_special 同步到zh_test
v1.0.111
1.438修改
v1.0.110
1.新增神印
master_zh_test同步数据表2022_03_29_17_06_53
master_zh_test同步数据表2022_03_22_11_35_14
master_zh_test同步数据表2022_03_22_11_35_01
master_zh_test同步数据表2022_03_21_16_48_11
v1.0.109
1.新增神系英雄技能被动
master_zh_test同步数据表2022_03_14_18_15_06
master_zh_test同步数据表2022_03_14_17_24_10
v1.0.108
1.新增429 430 431被动
master_zh_test同步数据表2022_03_08_16_52_49
v1.0.107
1.新增427 428被动
master_zh_test同步数据表2022_03_07_17_48_07
master_zh_test同步数据表2022_03_02_15_24_08
v1.0.106
1.新增425 426被动
master_zh_test同步数据表2022_03_01_15_02_06
v1.0.105
1.新增425 426被动
v1.0.104
1.被动375修改
master_zh_test同步数据表2022_02_22_19_20_35
master_zh_test同步数据表2022_02_22_18_59_21
v1.0.103
1.被动226 423 424修改
master_zh_test同步数据表2022_02_22_10_34_06
master_zh_test同步数据表2022_02_15_15_03_42
v1.0.102
1.效果108修改
2.被动356修改 新增422
master_zh_test同步数据表2022_02_08_14_14_42
v1.0.101
1.修复姑获鸟神魂五对所有人生效的问题
v1.0.100
1.御甲初始化修改
master_zh_test同步数据表2022_01_24_18_51_19
v1.0.99
1.御甲显示修改
v1.0.98
1.被动414修改
master_zh_test同步数据表2022_01_24_10_59_41
master_zh_test同步数据表2022_01_18_15_41_40
v1.0.97
1.护盾buff修改
master_zh_test同步数据表2022_01_17_16_56_13
master_zh_test同步数据表2022_01_17_16_30_59
master_zh_test同步数据表2022_01_15_19_12_17
v1.0.96
1.被动417-421 白金法宝
master_zh_test同步数据表2022_01_11_16_23_47
master_zh_test同步数据表2022_01_10_18_57_57
v1.0.95
1.新增被动414-417
2.添加御甲修改
v1.0.94
1.被动283修改
v1.0.93
1.战斗结束获取队伍剩余角色信息接口修改
master_zh_test同步数据表2021_12_28_09_56_49
master_zh_test同步数据表2021_12_24_18_32_21
v1.0.92
1.新增412被动 56被动修改
master_zh_test同步数据表2021_12_21_18_13_54
v1.0.91
1.护盾buff修改
2.鲸吞魂印修改
v1.0.90
1、修复RoleManager table.removebyvalue方法空报错
master_zh_test同步数据表2021_12_14_12_03_26
v1.0.89
1.第五期神魂
2.第二期变身卡
master_zh_test同步数据表2021_12_13_18_06_46
v1.0.88
1.被动257修改
2.不灭修改
v1.0.87
1.被动257修改
master_zh_test同步数据表2021_12_07_17_09_58
master_zh_test同步数据表2021_12_07_16_56_46
v1.0.86
1 战斗驱动逻辑修改 回合转换添加延时减半
2.被动257修改
v1.0.85
1 战斗驱动逻辑修改 回合转换添加延时减半
v1.0.84
1 战斗驱动逻辑修改 回合转换添加延时
master_zh_test同步数据表2021_12_06_19_02_28
v1.0.83
1 第四期神魂添加
master_zh_test同步数据表2021_11_30_12_06_26
v1.0.82
1 目标选择逻辑添加
master_zh_test同步数据表2021_11_29_19_48_14
v1.0.81
1、效果137修改
master_zh_test同步数据表2021_11_27_22_26_12
v1.0.80
1、同步战斗逻辑
master_zh_test同步数据表2021_11_23_11_29_17
v1.0.79
1、被动391修改 我方流血显示修改
master_zh_test同步数据表2021_11_22_18_00_26
v1.0.78
1、被动112 258 360修改提交
2. 伤害公式修改
3.战斗超时 pvp添加战斗类型
v1.0.77
1、第三批神魂提交
v1.0.76
1、修复前后端战斗数据格式不一致导致的结果不一致
master_zh_test同步数据表2021_11_16_11_07_25
v1.0.75
1添加不处理增伤的伤害接口
master_zh_test同步数据表2021_11_15_17_10_47
v1.0.74
1第二期神魂技能
master_zh_test同步数据表2021_11_08_18_01_19
v1.0.73
1被动285修改
master_zh_test同步数据表2021_11_08_17_48_59
v1.0.72
1第一期神魂技能
v1.0.71
1灵兽技能检测添加初始化
2.追加技能特效修改
v1.0.70
1、添加神魂被动技能
master_zh_test同步数据表2021_11_01_14_07_31
master_zh_test同步数据表2021_10_26_10_10_26
master_zh_test同步数据表2021_10_25_18_57_36
v1.0.69
1、战斗公式修改
master_zh_test同步数据表2021_10_22_18_57_18
v1.0.68
1、添加主角技能
2. 被动199修改
master_zh_test同步数据表2021_10_18_11_00_42
master_zh_test同步数据表2021_10_16_19_07_28
master_zh_test同步数据表2021_10_16_19_06_48
v1.0.67
1、被动344添加空判断
2. 战斗力公式修改
master_zh_test同步数据表2021_10_12_15_58_23
master_zh_test同步数据表2021_10_12_10_25_47
master_zh_test同步数据表2021_10_11_18_25_43
v1.0.66
1、被动312修改
master_zh_test同步数据表2021_10_09_18_47_41
master_zh_test同步数据表2021_10_09_18_46_50
v1.0.65
1、被动116 258 281 312 344 250修改
2. 精卫借的怒气不会回复怒气
3. 添加不处理增伤被动的方法
master_zh_test同步数据表2021_09_28_17_45_03
v1.0.64
1、353 351 137 被动修改
2. 添加获取没有出发不灭的目标
master_zh_test同步数据表2021_09_27_18_41_38
v1.0.63
1、353被动修改
v1.0.62
1. 同步战斗
1、添加御甲buff
2.添加最后一期紫府神印,添加白金装备被动 觉醒被动修改
master_zh_test同步数据表2021_09_26_20_35_14
master_zh_test同步数据表2021_09_18_21_14_36
master_zh_test同步数据表2021_09_18_18_42_35
v1.0.61
1. 同步战斗
1、技能是否能释放 添加是否有技能目标判断
2.被动196 200 188 修改
master_zh_test同步数据表2021_09_17_16_21_53
master_zh_test同步数据表2021_09_15_20_05_28
master_zh_test同步数据表2021_09_15_14_23_26
master_zh_test同步数据表2021_09_14_15_46_46
master_zh_test同步数据表2021_09_14_11_51_05
v1.0.60
1. 同步战斗
1、被动56修改
master_zh_test同步数据表2021_09_11_18_04_19
v1.0.59
1. 同步战斗
1、被动261 修改
master_zh_test同步数据表2021_09_10_18_24_51
v1.0.58
1. 被动414修改
2.御甲显示修改
1、修复方法缺失报错
v1.0.57
1. 护盾buff修改
1、尝试修复孙悟空大招不会增加伤害的问题
2、添加用于debug的log
master_zh_test同步数据表2021_09_07_11_00_31
v1.0.56
1. 被动417-421
1.选生命百分比最少目标逻辑修改 去掉有不灭单位
2. 死亡不把怒气显示清空
3.被动99 307 选目标逻辑修改
v1.0.55
1. 56被动修改
v1.0.54
1. 新加被动412
1.被动263 269 274 332 112 145 修改
2. 添加战斗日志
v1.0.54
1. 被动91 被动115 160修改
2. Dot类buff清除逻辑修改
master_zh_test同步数据表2021_08_27_18_25_18
master_zh_test同步数据表2021_08_21_16_34_06
v1.0.54
1. 被动141 310 283 330 336修改
master_zh_test同步数据表2021_08_02_19_27_29
v1.0.53
1. 神魂第一期英雄技能添加
1. 随机种子修改
master_zh_test同步数据表2021_07_31_17_55_16
master_zh_test同步数据表2021_07_31_17_54_20
v1.0.52
1. 灵兽技能检测修改
1. 死亡技能不会被控制
2.追加技能是否触发特性修改
master_zh_test同步数据表2021_07_26_11_10_56
v1.0.51
1. 山河社稷图星级检测修改
1. 被动292 修改
v1.0.50
1. 灵兽技能触发机制修改
1. 被动292 319修改
master_zh_test同步数据表2021_07_13_18_19_09
master_zh_test同步数据表2021_07_10_20_33_05
v1.0.49
1. 同步dev分支战斗逻辑
1. 同步客户端逻辑
v1.0.48
1. 同步dev分支战斗逻辑
v1.0.47
1. 同步dev分支战斗逻辑
v1.0.46
1. 同步dev分支战斗逻辑
v1.0.45
1. 新增紫府神印被动效果
v1.0.44
v1.0.47
1. 新增英雄觉醒被动 及 困难副本被动 效果
master_zh_test同步数据表2021_06_30_07_33_23
master_zh_test同步数据表2021_06_28_13_40_30
v1.0.46
1、同步数据表
v1.0.45
1. 【战斗】修改免疫控制效果清除提示
v1.0.44
1. 【战斗】修复群体性的免疫效果不会正常消失的问题
v1.0.43
1. 被动200修改
v1.0.42
@ -181,4 +420,4 @@ v1.0.1
v1.0.0
1、创建战斗版本文件
2、灵兽技能加入
2、灵兽技能加入

View File

@ -32,7 +32,7 @@ import java.util.Map;
/**
*
* 0 1 ChampionBetInfo
* 0 1 ChampionBetInfo
*/
public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionGetBetRequest> {
@ -48,58 +48,40 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
int progress = ChampionshipLogic.getProgress(); //阶段
int realTimes = ChampionshipLogic.getRealTimes();
int uid = session.getUid();
if(progress==-1){
if (progress == -1) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
String selectIdForRedis = ChampionshipLogic.getSelectIdForRedis();
String selectIdForRedis = ChampionshipLogic.getSelectIdForRedis();
ArenaInfoProto.ChampionGetBetResponse.Builder builder = ArenaInfoProto.ChampionGetBetResponse.newBuilder();
if(!StringUtil.isEmpty(selectIdForRedis)){
LOGGER.info("巅峰赛第一步竞猜id{}", selectIdForRedis);
if (!StringUtil.isEmpty(selectIdForRedis)) {
builder.setChampionBetInfo(ChampionshipLogic.getBetOdds());
ArenaRecord arenaRecord = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", selectIdForRedis, ArenaRecord.class);
if(proto.getType() == 0){
int fightResult=-1;
ArenaRecord thisRecord =null;
//
// if( ChampionshipLogic.getSchedule()==1){
// if(arenaRecord.getRoundTims() == ChampionshipLogic.getRoundTimes()&&(fightResult == -2 || !(progress % 10 == 3))){
// fightResult = -1;
// }
// }else {
// if ((realTimes+7) == arenaRecord.getRoundTims() && (fightResult == -2 || !(progress % 10 == 3))) {
// fightResult = -1;
// }
// }
if (proto.getType() == 0) {
int fightResult = -1;
ArenaRecord thisRecord = null;
int myGuessID = 0;
Integer mineBetCoins = 0;
// Map<String, Integer> states = RedisUtil.getInstence().getMapValues(RedisKey.CHAMPION_ARENA_RECORD_THREE, "", String.class, Integer.class);
// String key = String.valueOf(v.getAttackId() * 2222 + String.valueOf(v.getDefUid()));
int state =-1;
// Integer stateInteger = states.get(key);
// if (null!=stateInteger) {
// state =stateInteger
// }
//
List<String> strings = RedisUtil.getInstence().lGet(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(arenaRecord.getAttackId()), 0,-1);
//
for (String redisId:strings) {
int state = -1;
List<String> strings = RedisUtil.getInstence().lGet(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(arenaRecord.getAttackId()), 0, -1);
for (String redisId : strings) {
ArenaRecord record = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", redisId, ArenaRecord.class);
if(record.getTurn()==-1){
int recordFightResult = record.getFightResult();
int recordTurn = record.getTurn();
if (recordTurn == -1) {
continue;
}
if(ChampionshipLogic.getFightTime()!=record.getTurn()&&record.getRoundTims()==(arenaRecord.getRoundTims())){
if(record.getFightResult()==-2){
if (ChampionshipLogic.getFightTime() != recordTurn && record.getRoundTims() == (arenaRecord.getRoundTims())) {
if (recordFightResult == -2) {
continue;
}
if (record.getFightResult() == 1) {
if (recordFightResult == 1) {
if (state == -1) {
state = 2;
} else if (state == 3) {
state = 5;
} else {
state = record.getFightResult();
state = recordFightResult;
}
} else {
if (state == -1) {
@ -107,47 +89,41 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
} else if (state == 2) {
state = 4;
} else {
state = record.getFightResult();
state = recordFightResult;
}
}
}
if(record.getRoundTims()==(arenaRecord.getRoundTims())){
if(ChampionshipLogic.getSchedule()==1){
fightResult = record.getFightResult();
thisRecord =record;
}else {
if(ChampionshipLogic.getFightTime()==record.getTurn()){
fightResult = record.getFightResult();
thisRecord =record;
if (record.getRoundTims() == (arenaRecord.getRoundTims())) {
if (ChampionshipLogic.getSchedule() == 1) {
fightResult = recordFightResult;
thisRecord = record;
} else {
if (ChampionshipLogic.getFightTime() == recordTurn) {
fightResult = recordFightResult;
thisRecord = record;
}
}
}
}
if( ChampionshipLogic.getSchedule()==1){
if(arenaRecord.getRoundTims() == ChampionshipLogic.getRoundTimes()&&(fightResult == -2 || !(progress % 10 == 3))){
if (ChampionshipLogic.getSchedule() == 1) {
if (arenaRecord.getRoundTims() == ChampionshipLogic.getRoundTimes() && (fightResult == -2 || !(progress % 10 == 3))) {
fightResult = -1;
}
}else {
if ((realTimes+7) == arenaRecord.getRoundTims() && (fightResult == -2 || !(progress % 10 == 3))) {
} else {
if ((realTimes + 7) == arenaRecord.getRoundTims() && (fightResult == -2 || !(progress % 10 == 3))) {
fightResult = -1;
}
}
// if(state<2){
// }else {
// fightResult= -1;
// }
String guessUidStr = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_BET_MINE, Integer.toString(uid), selectIdForRedis, String.class);
if(!StringUtil.isEmpty(guessUidStr)) {
LOGGER.info("巅峰赛第二步赢家id{}",guessUidStr);
if (!StringUtil.isEmpty(guessUidStr)) {
myGuessID = Integer.parseInt(guessUidStr);
mineBetCoins = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_BET_DETAIL, arenaRecord.getId() + ":" + guessUidStr, Integer.toString(uid), Integer.class);
}else {
} else {
int[][] itemNum = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting().getItemNum();
User user = UserManager.getUser(session.getUid());
Item item = user.getItemManager().getItem(itemNum[0][0]);
@ -155,106 +131,73 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
int[][] reward = new int[1][];
int[] temp2 = new int[2];
temp2[0] = itemNum[0][0];
temp2[1] = item == null ? itemNum[0][1] : itemNum[0][1] - (int)item.getItemNum();
temp2[1] = item == null ? itemNum[0][1] : itemNum[0][1] - (int) item.getItemNum();
reward[0] = temp2;
// fix 发放代币 只补充到阈值
ItemUtil.drop(user, reward, BIReason.CHAMPIION_BET_REWARD);
LOGGER.info("巅峰赛发送代币uid{}itemId{}itemNum{}", user.getId(), temp2[0], temp2[1]);
}
}
CommonProto.ChampionBattleInfo.Builder builder1 = CommonProto.ChampionBattleInfo.newBuilder();
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(arenaRecord.getAttackId());
if (sArenaRobotConfig != null) {
builder1.setMyInfo( PlayerLogic.getInstance().getRobotTeamInfo(sArenaRobotConfig)) ;
}else {
ChampionshipLogic.MemberInfo memberInfo = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_JOIN, "", Integer.toString(arenaRecord.getAttackId()), ChampionshipLogic.MemberInfo.class);
FamilyFightInfo fightInfo = memberInfo.getFightInfo();
if(fightInfo == null){
builder1.setMyInfo( PlayerLogic.getInstance().getUserTeamOneInfo(arenaRecord.getAttackId(), TeamEnum.CHAMPION_TEAM.getTeamId()));
}else {
//fix 整个过程都不能调整编队
CommonProto.TeamOneInfo.Builder attTeam = getUserTeam(arenaRecord.getAttackId());
builder1.setMyInfo(attTeam);
User user = UserManager.getUser(arenaRecord.getAttackId());
CommonProto.TeamOneInfo.Builder oneInfo = CBean2Proto.getTeamOneInfo(user);
CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
teamInfo.setTotalForce(fightInfo.getForce());
if (!fightInfo.getPokenmonIds().isEmpty()) {
// teamInfo.addAllPokemonInfos(fightInfo.getPokenmonIds());
}
CommonProto.TeamOneInfo.Builder defTeam = getUserTeam(arenaRecord.getDefUid());
builder1.setEnemyInfo(defTeam);
// int i = 1;
for (Map.Entry<String, FamilyHeroInfo> entry : fightInfo.getHeroAttribute().entrySet()) {
FamilyHeroInfo familyHeroInfo = entry.getValue();
teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder()
.setHeroid(entry.getKey())
.setHeroTid(familyHeroInfo.getTempleteId())
.setStar(familyHeroInfo.getStar())
.setLevel(familyHeroInfo.getLevel())
.setPosition(familyHeroInfo.getPosition())
.setGodSoulLv(familyHeroInfo.getGodSoulLv())
.build()
);
}
oneInfo.setTeam(teamInfo);
builder1.setMyInfo(oneInfo);
}
}
sArenaRobotConfig= SArenaRobotConfig.getsArenaRobotConfigById(arenaRecord.getDefUid());
if (sArenaRobotConfig != null) {
builder1.setEnemyInfo( PlayerLogic.getInstance().getRobotTeamInfo(sArenaRobotConfig)) ;
}else {
ChampionshipLogic.MemberInfo memberInfo = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_JOIN, "", Integer.toString(arenaRecord.getDefUid()), ChampionshipLogic.MemberInfo.class);
FamilyFightInfo fightInfo = memberInfo.getFightInfo();
if(fightInfo == null){
builder1.setEnemyInfo( PlayerLogic.getInstance().getUserTeamOneInfo(arenaRecord.getDefUid(), TeamEnum.CHAMPION_TEAM.getTeamId()));
}else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(arenaRecord.getDefUid());
CommonProto.TeamOneInfo.Builder oneInfo = CBean2Proto.getTeamOneInfo(user);
CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
teamInfo.setTotalForce(fightInfo.getForce());
if (!fightInfo.getPokenmonIds().isEmpty()) {
// teamInfo.addAllPokemonInfos(fightInfo.getPokenmonIds());
}
// int i = 1;
for (Map.Entry<String, FamilyHeroInfo> entry : fightInfo.getHeroAttribute().entrySet()) {
FamilyHeroInfo familyHeroInfo = entry.getValue();
teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder()
.setHeroid(entry.getKey())
.setHeroTid(familyHeroInfo.getTempleteId())
.setStar(familyHeroInfo.getStar())
.setLevel(familyHeroInfo.getLevel())
.setPosition(familyHeroInfo.getPosition())
.setGodSoulLv(familyHeroInfo.getGodSoulLv())
.build()
);
}
oneInfo.setTeam(teamInfo);
builder1.setEnemyInfo(oneInfo);
}
}
builder1.setResult(fightResult);
if(thisRecord!=null&&thisRecord.getFightData()!=null){
LOGGER.info("巅峰赛第三步,攻击者:{},防御者:{},结果:{}",arenaRecord.getAttackId(),arenaRecord.getDefUid(),fightResult);
if (thisRecord != null && thisRecord.getFightData() != null) {
CommonProto.FightData fightDataProto = CommonProto.FightData.parseFrom(thisRecord.getFightData());
builder1.setFightData(fightDataProto);
}
builder.setChampionBattleInfo(builder1.build());
builder.setProcess(state);
builder.setChampionBattleInfo(builder1
.build());
builder.setWinUid(myGuessID);
builder.setMyBetCoins(mineBetCoins);
LOGGER.info("竞猜1uid=>{},竞猜2uid{}",builder.getChampionBattleInfo().getMyInfo().getUid(),builder.getChampionBattleInfo().getEnemyInfo().getUid());
LOGGER.info("巅峰赛最后一步,状态:{},赢家:{},筹码:{}",state,myGuessID,mineBetCoins);
}
}
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.CHAMPION_BET_INFO_RESPONSE_VALUE,builder.build(),true);
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.CHAMPION_BET_INFO_RESPONSE_VALUE, builder.build(), true);
}
public CommonProto.TeamOneInfo.Builder getUserTeam(int robotId) throws Exception {
CommonProto.TeamOneInfo.Builder builder = CommonProto.TeamOneInfo.newBuilder();
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(robotId);
if (sArenaRobotConfig != null) {
builder = PlayerLogic.getInstance().getRobotTeamInfo(sArenaRobotConfig);
} else {
ChampionshipLogic.MemberInfo memberInfo = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_JOIN, "", Integer.toString(robotId), ChampionshipLogic.MemberInfo.class);
FamilyFightInfo fightInfo = memberInfo.getFightInfo();
if (fightInfo == null) {
builder = PlayerLogic.getInstance().getUserTeamOneInfo(robotId, TeamEnum.CHAMPION_TEAM.getTeamId());
} else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(robotId);
CommonProto.TeamOneInfo.Builder oneInfo = CBean2Proto.getTeamOneInfo(user);
CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
teamInfo.setTotalForce(fightInfo.getForce());
// int i = 1;
for (Map.Entry<String, FamilyHeroInfo> entry : fightInfo.getHeroAttribute().entrySet()) {
FamilyHeroInfo familyHeroInfo = entry.getValue();
teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder()
.setHeroid(entry.getKey())
.setHeroTid(familyHeroInfo.getTempleteId())
.setStar(familyHeroInfo.getStar())
.setLevel(familyHeroInfo.getLevel())
.setPosition(familyHeroInfo.getPosition())
.setGodSoulLv(familyHeroInfo.getGodSoulLv())
.build()
);
}
oneInfo.setTeam(teamInfo);
builder = oneInfo;
}
}
return builder;
}
}

View File

@ -453,7 +453,7 @@ public class ChampionshipLogic {
ItemUtil.itemCost(user, costs, BIReason.CHAMPIONM_EXCHANGE_CONSUME, sendId);
// ItemUtil.addItem(user, itemReward, null, BIReason.CHAMPIONM_EXCHANGE_REWARD);
}
LOGGER.info("the uid={},send rewardnum={}", itemNum / sChampionshipSetting.getExchangeItem());
LOGGER.info("the uid={}, send rewardnum={}",user.getId(), itemNum / sChampionshipSetting.getExchangeItem());
}
MongoUtil.getLjsdMongoTemplate().lastUpdate();
@ -608,8 +608,8 @@ public class ChampionshipLogic {
//这里将map.entrySet()转换成list
List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(uidRankMap.entrySet());
//然后通过比较器来实现排序
Collections.sort(list, (o1, o2) -> {
if (o2.getValue() == (o1.getValue())) {
list.sort((o1, o2) -> {
if (Objects.equals(o2.getValue(), o1.getValue())) {
return getMaxForce(o2.getKey()) - getMaxForce(o1.getKey());
}
return o2.getValue().compareTo(o1.getValue());

View File

@ -345,11 +345,8 @@ public class ItemLogic {
SItem sItem = SItem.getsItemMap().get(item.getItemId());
num += item.getItemNum();
ItemUtil.combineReward(user, true, sItem.getRewardGroup(), 1f, itemObj, 0);
}
int[][] costItemArr = StringUtil.parseFiledInt2(cost.toString());
long mapNum = ItemUtil.getMapById(itemId, itemObj);
if (mapNum==0) {
throw new ErrorCodeException(ErrorCode.SERVER_DEFINE);