gm账号添加英雄

back_recharge
zhangshanxue 2020-10-20 16:44:22 +08:00
parent 34f3d40ee4
commit 57f55498ee
1 changed files with 72 additions and 0 deletions

View File

@ -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<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeTree = new TreeMap<>(scHeroRankUpConfigByType);
SCHeroRankUpConfig scHeroRankUpConfig = ((TreeMap<Integer, SCHeroRankUpConfig>) 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;
}
}