back_recharge
lvxinran 2020-07-29 19:11:16 +08:00
commit c039722e01
14 changed files with 356 additions and 93 deletions

View File

@ -1984,7 +1984,7 @@ local passivityList = {
local i1 = args[1]
-- 释放技能后
local onRoleHit = function(target)
if target:IsDead() then
if target:IsDead() and BattleLogic.BuffMgr:HasBuff(target,BuffName.NoDead)==false then
for i = 1, i1 do
role:AddSkill(BattleSkillType.Normal, false, true, nil)
end
@ -4398,7 +4398,17 @@ local passivityList = {
end,
--
[225] = function()
[225] = function(role, args)
--王振兴添加
local f1 = args[1]
local pro1 = args[2]
local ct1 = args[3]
local maxNum = args[4]
-- 紫+橙
local num = OutDataManager.GetOutData(role.camp, OutDataName.MisteryLiquidUsedTimes)
num = min(maxNum, num)
BattleUtil.AddProp(role, pro1, f1 * num, ct1)
end,
@ -4656,6 +4666,7 @@ local passivityList = {
-- 紫+橙
local num = OutDataManager.GetOutData(role.camp, OutDataName.MisteryLiquidUsedTimes)
num = min(maxNum, num)
BattleUtil.AddProp(role, pro1, f1 * num, ct1)
end,

View File

@ -100,6 +100,7 @@ local function DoEffect(caster, target, eff, duration, skill)
)
end
end
function Skill:takeEffect(caster, target, effects, effectIndex, duration, skill)
for k=1, #effects do
-- 如果不是第一个效果对列的第一个效果则判断是否命中
@ -244,6 +245,7 @@ function Skill:GetMaxTargetNum()
end
return BattleUtil.GetMaxTargetNum(mainEffect.chooseId)
end
-- 判断是否命中
function Skill:CheckTargetIsHit(role)
return self.targetIsHit[role]
@ -261,4 +263,3 @@ function Skill:EndSkill()
--
self.effectTargets = {}
end

View File

@ -228,8 +228,11 @@ function BattleLogic.TurnRound(debugTurn)
-- buff计算
BattleLogic.BuffMgr:TurnUpdate(1) -- 计算恢复血量
BattleLogic.BuffMgr:TurnUpdate(2) -- 计算持续伤害(除去流血)
-- 如果角色无法释放技能
if not SkillRole:IsAvailable() then
if not SkillRole:IsAvailable() -- 角色不能释放技能
or (SkillRole:IsDead() and not BattleLogic.BuffMgr:HasBuff(SkillRole,BuffName.NoDead)) --将死但没有不死buff
then
BattleLogic.BuffMgr:TurnUpdate(3) -- 计算持续伤害(流血)
BattleLogic.BuffMgr:TurnUpdate(4) -- 计算其他buff
BattleLogic.BuffMgr:PassUpdate() -- 计算buff轮数

View File

@ -26,7 +26,7 @@ function Shield:OnStart()
self.target.buffFilter:Add(immune0)
-- 清除所有负面buff
BattleLogic.BuffMgr:ClearBuff(self.target, function (buff)
return buff.type == BuffName.Control or buff.type == BuffName.Dot
return buff.type == BuffName.Control or buff.type == BuffName.DOT
end)
end
end

View File

@ -52,6 +52,7 @@ BattleEventName = {
HitMiss = indexAdd(),
BeHitMiss = indexAdd(),
CritDamageReduceFactor = indexAdd(), -- 暴击伤害减免系数
SkillCast = indexAdd(), -- 技能攻击前

View File

@ -394,7 +394,6 @@ function BattleUtil.CalDamage(skill, atkRole, defRole, damageType, baseFactor, i
if atkRole.isTeam and not defRole:IsDead() then
return BattleUtil.ApplyDamage(skill, atkRole, defRole, damageType), false
end
-- 计算技能额外伤害系数加成
baseFactor = baseFactor or 1
local factorFunc = function(exFactor) baseFactor = baseFactor + exFactor end
@ -544,6 +543,9 @@ function BattleUtil.CheckIsHit(atkRole, defRole)
return isHit
end
function BattleUtil.RandomAction(rand, action)
if Random.Range01() <= rand and action then
action()

View File

@ -6,10 +6,14 @@ import com.ljsd.jieling.logic.activity.event.FunctionRefreshEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
import util.TimeUtils;
public class ChampionFunction implements FunctionManager {
@Override
public void startAction(TimeControllerOfFunction timeControllerOfFunction) throws Exception {
if(TimeUtils.now() - timeControllerOfFunction.getStartTime()>1000*60*3 ){
return;
}
ChampionshipLogic.start();
Poster.getPoster().dispatchEvent(new FunctionRefreshEvent(FunctionIdEnum.Arena.getFunctionType(),-1));
}

View File

@ -1,6 +1,8 @@
package com.ljsd.jieling.handler.GameGM;
import com.ljsd.GameApplication;
import com.ljsd.GmService;
import com.ljsd.jieling.chat.logic.ChatLogic;
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig;
import com.ljsd.jieling.core.GlobalsDef;
@ -35,7 +37,10 @@ import org.springframework.stereotype.Component;
import util.StringUtil;
import util.TimeUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@ -56,13 +61,26 @@ public class GMRequestHandler extends BaseHandler{
byte[] message = netData.parseClientProtoNetData();
CommonProto.GMCommand gmCommand = CommonProto.GMCommand.parseFrom(message);
String command = gmCommand.getCommand();
LOGGER.info("gm commond is {}",command);
int uid = iSession.getUid();
LOGGER.error("gm commond is {}",command);
if(command.startsWith("//")){
PrintWriter printWriter = new PrintWriter(new FileOutputStream( new File(SysUtil.getPath("conf/check_fight" + uid + ".txt"))));
printWriter.print(command);
printWriter.flush();
printWriter.close();
CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder();
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GM_RESPONSE_VALUE, gmBuilder.build(), true);
return;
}
if(!GameApplication.serverProperties.isDebug()){
CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder();
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GM_RESPONSE_VALUE, gmBuilder.build(), true);
}
if (!command.contains("#") || command.split("#").length < 3) {
LOGGER.error("wrong command :" + command);
return;
}
String[] commandArray = command.split("#");
int uid = iSession.getUid();
int gmCommandType = Integer.parseInt(commandArray[0]);// 1:道具(type#数量) 2: 卡牌
int prarm1 = 0, prarm2 = 0;
String prarm3 = "";

View File

@ -1,20 +1,24 @@
package com.ljsd.jieling.handler.champion;
import com.google.gson.Gson;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
import com.ljsd.jieling.logic.dao.ArenaRecord;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.ArenaInfoProto;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.util.MessageUtil;
import config.SArenaRobotConfig;
import java.util.List;
import java.util.Map;
/**
* *
@ -129,12 +133,89 @@ public class ChampinGetHandler extends BaseHandler {
}
builder.setProcess(state);
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(), GlobalsDef.CHAMPION_TEAM));
}else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(arenaRecord.getAttackId());
PlayerManager playerManager = user.getPlayerInfoManager();
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setHead(playerManager.getHead())
.setHeadFrame(playerManager.getHeadFrame())
.setLevel(playerManager.getLevel())
.setName(playerManager.getNickName()).setUid(arenaRecord.getAttackId());
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())
.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(), GlobalsDef.CHAMPION_TEAM));
}else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(arenaRecord.getDefUid());
PlayerManager playerManager = user.getPlayerInfoManager();
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setHead(playerManager.getHead())
.setHeadFrame(playerManager.getHeadFrame())
.setLevel(playerManager.getLevel())
.setName(playerManager.getNickName()).setUid(arenaRecord.getDefUid());
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())
.build()
);
}
oneInfo.setTeam(teamInfo);
builder1.setEnemyInfo(oneInfo);
}}
builder.setChampionBattleInfo(builder1
.setMyInfo(ChampionshipLogic.getChampionBattleInfo(attackId))
.setEnemyInfo(ChampionshipLogic.getChampionBattleInfo(enemyId))
.setResult(fightResult)
.build());
}

View File

@ -1,17 +1,21 @@
package com.ljsd.jieling.handler.champion;
import com.ljsd.jieling.core.GlobalsDef;
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.handler.BaseHandler;
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
import com.ljsd.jieling.logic.dao.ArenaRecord;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.ArenaInfoProto;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.util.MessageUtil;
import config.SArenaRobotConfig;
import util.StringUtil;
import java.util.List;
@ -41,18 +45,19 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
builder.setChampionBetInfo(ChampionshipLogic.getBetOdds());
ArenaRecord arenaRecord = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", selectIdForRedis, ArenaRecord.class);
if(proto.getType() == 0){
int fightResult=arenaRecord.getFightResult();
int fightResult=-1;
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;
}
}
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;
// }
// }
int myGuessID = 0;
Integer mineBetCoins = 0;
@ -69,12 +74,10 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
//
for (String redisId:strings) {
ArenaRecord record = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", redisId, ArenaRecord.class);
if(record.getTurn()==-1){
continue;
}
if(ChampionshipLogic.getFightTime()!=record.getTurn()&&record.getRoundTims()==(arenaRecord.getRoundTims())){
if(record.getFightResult()==-2){
continue;
}
@ -95,10 +98,34 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
state = record.getFightResult();
}
}
}
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( 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(state<2){
// }else {
// fightResult= -1;
@ -109,21 +136,107 @@ public class ChampionBetInfoHandler extends BaseHandler<ArenaInfoProto.ChampionG
myGuessID = Integer.parseInt(guessUidStr);
mineBetCoins = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_BET_DETAIL, arenaRecord.getId() + ":" + guessUidStr, Integer.toString(uid), Integer.class);
}
CommonProto.ChampionBattleInfo.Builder builder1 = CommonProto.ChampionBattleInfo.newBuilder()
.setMyInfo( ChampionshipLogic.getChampionBattleInfo(arenaRecord.getAttackId()))
.setEnemyInfo( ChampionshipLogic.getChampionBattleInfo(arenaRecord.getDefUid()))
.setResult(fightResult);
if(fightResult!=-1){
builder1.setFightData( CommonProto.FightData.parseFrom(arenaRecord.getFightData()));
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(), GlobalsDef.CHAMPION_TEAM));
}else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(arenaRecord.getAttackId());
PlayerManager playerManager = user.getPlayerInfoManager();
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setHead(playerManager.getHead())
.setHeadFrame(playerManager.getHeadFrame())
.setLevel(playerManager.getLevel())
.setName(playerManager.getNickName()).setUid(arenaRecord.getAttackId());
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())
.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(), GlobalsDef.CHAMPION_TEAM));
}else {
//fix 整个过程都不能调整编队
User user = UserManager.getUser(arenaRecord.getDefUid());
PlayerManager playerManager = user.getPlayerInfoManager();
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setHead(playerManager.getHead())
.setHeadFrame(playerManager.getHeadFrame())
.setLevel(playerManager.getLevel())
.setName(playerManager.getNickName()).setUid(arenaRecord.getDefUid());
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())
.build()
);
}
oneInfo.setTeam(teamInfo);
builder1.setEnemyInfo(oneInfo);
}
}
builder1.setResult(fightResult);
if(thisRecord!=null&&thisRecord.getFightData()!=null){
CommonProto.FightData fightDataProto = CommonProto.FightData.parseFrom(thisRecord.getFightData());
builder1.setFightData(fightDataProto);
}
builder.setProcess(state);
builder.setChampionBattleInfo(builder1
.build());
builder.setWinUid(myGuessID);
builder.setMyBetCoins(mineBetCoins);
}
}
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.CHAMPION_BET_INFO_RESPONSE_VALUE,builder.build(),true);

View File

@ -481,7 +481,11 @@ public class ChampionshipLogic {
public static CommonProto.TeamOneInfo.Builder getChampionBattleInfo(int uid) throws Exception {
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(uid);
if (sArenaRobotConfig != null) {
return PlayerLogic.getInstance().getRobotTeamInfo(sArenaRobotConfig);
return CommonProto.TeamOneInfo.newBuilder()
.setLevel(sArenaRobotConfig.getRobotLevel())
.setName(sArenaRobotConfig.getRobotName())
.setUid(sArenaRobotConfig.getId());
// return PlayerLogic.getInstance().getRobotTeamInfo(sArenaRobotConfig);
}
MemberInfo memberInfo = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_JOIN, "", Integer.toString(uid), MemberInfo.class);
FamilyFightInfo fightInfo = memberInfo.getFightInfo();
@ -497,25 +501,25 @@ public class ChampionshipLogic {
.setHeadFrame(playerManager.getHeadFrame())
.setLevel(playerManager.getLevel())
.setName(playerManager.getNickName()).setUid(uid);
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())
.build()
);
}
oneInfo.setTeam(teamInfo);
// 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())
// .build()
// );
// }
// oneInfo.setTeam(teamInfo);
return oneInfo;
}
@ -869,6 +873,7 @@ public class ChampionshipLogic {
arenaRecord.setAttackId(attackUid);
arenaRecord.setDefUid(defUid);
arenaRecord.setType(type);
arenaRecord.setTurn(ChampionshipLogic.fightTime);
arenaRecord.setRoundTims(roundTimes);
arenaRecordMap.put(arenaRecord.getId(), arenaRecord);
}
@ -1139,11 +1144,15 @@ public class ChampionshipLogic {
public static void minuteCheck(boolean isServerStart) throws Exception {
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.TopBattle);
if (null == timeControllerOfFunction) {
progress = -1;
return;
}
Map<Integer, MemberInfo> joinMembers = RedisUtil.getInstence().getMapValues(RedisKey.CHAMPION_JOIN, "", Integer.class, MemberInfo.class);
if(joinMembers.size()==0){
return;
}
if(progress == -2){
return;
}

View File

@ -701,7 +701,7 @@ public class PlayerManager extends MongoBase {
public void setMaxforceHero(String maxforceHero) {
this.maxforceHero = maxforceHero;
updateString("maxforceHero",maxforceHero);
updateString("maxforceHero",this.maxforceHero);
}
public Set<Integer> getProudInfo() {

View File

@ -134,6 +134,9 @@ public class FightDataUtil {
LuaValue detail = new LuaTable();
int passivityId = Integer.parseInt(unitSkill[i]);
SPassiveSkillLogicConfig sPassiveSkillLogicConfig = SPassiveSkillLogicConfig.getConfig(passivityId);
if(sPassiveSkillLogicConfig.getEffectiveRange()!=1){
continue;
}
detail.rawset(1, LuaValue.valueOf(sPassiveSkillLogicConfig.getType()));
List<LuaValue> effectList = parseArraayToLuaValues(sPassiveSkillLogicConfig.getValue());
int size = effectList.size();

View File

@ -3,6 +3,8 @@ package config;
import manager.STableManager;
import manager.Table;
import java.util.Map;
@Table(name ="ArenaSetting")
public class SArenaSetting implements BaseConfig {
@ -18,6 +20,8 @@ public class SArenaSetting implements BaseConfig {
private int battleFree;
private int[] cost;
private int item;
private int[] price;
@ -26,10 +30,12 @@ public class SArenaSetting implements BaseConfig {
private int pveNum;
private int[] cost;
private int mostTime;
private int battleWinReward;
private int battleLoseReward;
private static SArenaSetting config;
@ -42,6 +48,7 @@ public class SArenaSetting implements BaseConfig {
return config;
}
public int getId() {
return id;
}
@ -66,6 +73,10 @@ public class SArenaSetting implements BaseConfig {
return battleFree;
}
public int[] getCost() {
return cost;
}
public int getItem() {
return item;
}
@ -82,11 +93,17 @@ public class SArenaSetting implements BaseConfig {
return pveNum;
}
public int[] getCost() {
return cost;
}
public int getMostTime() {
return mostTime;
}
public int getBattleWinReward() {
return battleWinReward;
}
public int getBattleLoseReward() {
return battleLoseReward;
}
}