From 57f55498eebba108ffdfdec30a75c59606c611e6 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Tue, 20 Oct 2020 16:44:22 +0800 Subject: [PATCH] =?UTF-8?q?gm=E8=B4=A6=E5=8F=B7=E6=B7=BB=E5=8A=A0=E8=8B=B1?= =?UTF-8?q?=E9=9B=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_addhero.java | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addhero.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addhero.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addhero.java new file mode 100644 index 000000000..16e30e84c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_addhero.java @@ -0,0 +1,72 @@ +package com.ljsd.jieling.kefu; + +import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig; +import com.ljsd.jieling.core.GlobalsDef; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.dao.ExpeditionItem; +import com.ljsd.jieling.logic.dao.ExpeditionManager; +import com.ljsd.jieling.logic.dao.Hero; +import com.ljsd.jieling.logic.expedition.ExpeditionLogic; +import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.Expedition; +import com.ljsd.jieling.protocols.MessageTypeProto; +import com.ljsd.jieling.util.CBean2Proto; +import com.ljsd.jieling.util.ItemUtil; +import com.ljsd.jieling.util.MessageUtil; +import config.SCHero; +import config.SCHeroRankUpConfig; +import config.SExpeditionHolyConfig; +import manager.STableManager; + +import java.util.Map; +import java.util.TreeMap; + +public class Cmd_addhero extends GmRoleAbstract{ + @Override + public boolean exec(String[] args) throws Exception { + + if(args.length!=2){ + return true; + } + int prarm1 = Integer.valueOf(args[0]); + int prarm2 = Integer.valueOf(args[1]); + + CommonProto.Drop.Builder drop = ItemUtil.drop(getUser(), new int[][]{{prarm1, 1}}, BIReason.GM_REWARD); + CommonProto.Hero heroProto = drop.getHero(0); + String heroId = heroProto.getId(); + Hero hero = getUser().getHeroManager().getHeroMap().get(heroId); + if(prarm2-hero.getStar()>0){ + + SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); + if(prarm2>scHero.getMaxRank()){ + hero.upStar(scHero.getMaxRank()-hero.getStar()); + }else { + hero.upStar(prarm2-hero.getStar()); + } + + Map scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar()); + Map scHeroRankUpConfigByTypeTree = new TreeMap<>(scHeroRankUpConfigByType); + SCHeroRankUpConfig scHeroRankUpConfig = ((TreeMap) scHeroRankUpConfigByTypeTree).lowerEntry(hero.getStar()).getValue(); + hero.setLevel(getUser(),scHeroRankUpConfig.getOpenLevel()); + hero.setStarBreakId(scHeroRankUpConfig.getId()); + + scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar()); + int breakId = 0; + for(SCHeroRankUpConfig scHeroRankUpConfigBreak :scHeroRankUpConfigByType.values()){ + if(hero.getLevel()>scHeroRankUpConfigBreak.getLimitLevel()){ + breakId++; + } + } + hero.setBreakId(breakId); + } + //CommonProto.Hero finalHeroProto = CBean2Proto.getHero(hero); + + // gmBuilder.setDrop(CommonProto.Drop.newBuilder().addHero(finalHeroProto).build()); + return true; + } +}