猎妖之路招募节点bug

back_recharge
zhangshanxue 2020-06-13 16:58:08 +08:00
parent 344501791f
commit 5264ddcb83
2 changed files with 32 additions and 23 deletions

View File

@ -71,25 +71,29 @@ public class HeroNodeGetInfoRequestHandler extends BaseHandler<Expedition.HeroNo
Map<String, Hero> heroMapTemp = user.getExpeditionManager().getHeroMapTemp(nodeId);
if(heroMapTemp.size()==0){
SExpeditionRecruitConfig sExpeditionRecruitConfig = STableManager.getConfig(SExpeditionRecruitConfig.class).get(sExpeditionNodeConfig.getPoolId());
if(sExpeditionRecruitConfig!=null) {
int i = sExpeditionRecruitConfig.getHeroId();
//获取最大战力hero
String maxforceHero = user.getPlayerInfoManager().getMaxforceHero();
if (StringUtil.isEmpty(maxforceHero)) {
HeroLogic.getInstance().calTeamTotalForce(user, 1, false);
maxforceHero = user.getPlayerInfoManager().getMaxforceHero();
}
Hero hero = user.getHeroManager().getHeroMap().get(maxforceHero);
if (hero == null) {
throw new ErrorCodeException("试炼节点英雄掉落失败");
}
int poolId = sExpeditionNodeConfig.getPoolId();
TreeSet<Integer> randomTid = ExpeditionLogic.getRandomTid(poolId, recruitTime);
for (int j = 0; j < recruitTime; j++) {
//获取最大战力hero
String maxforceHero = user.getPlayerInfoManager().getMaxforceHero();
if (StringUtil.isEmpty(maxforceHero)) {
HeroLogic.getInstance().calTeamTotalForce(user, 1, false);
maxforceHero = user.getPlayerInfoManager().getMaxforceHero();
}
Hero hero = user.getHeroManager().getHeroMap().get(maxforceHero);
if (hero == null) {
throw new ErrorCodeException("招募节点英雄掉落失败");
}
for (Integer integer:randomTid) {
SExpeditionRecruitConfig sExpeditionRecruitConfig = STableManager.getConfig(SExpeditionRecruitConfig.class).get(integer);
if(sExpeditionRecruitConfig!=null) {
int i = sExpeditionRecruitConfig.getHeroId();
ExpeditionLogic.createHero(i, uid, hero, nodeId);
}
}
}
heroMapTemp = user.getExpeditionManager().getHeroMapTemp(nodeId);
heroMapTemp.forEach((s, hero) -> {

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.config.clazzStaticCfg.MapStaticConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.globals.GlobalItemType;
@ -476,26 +477,30 @@ public class ItemUtil {
private static void getMap(int itemId ,int itemNum, Map<Integer, Integer> itemMap,
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,float dropRatio) {
Map<Integer, Integer> mapRe = getMapRe(itemId, itemMap, cardMap, equipMap, randomMap);
putcountMap(itemId,MathUtils.numRount((itemNum * dropRatio)) , mapRe);
}
public static Map<Integer, Integer> getMapRe(int itemId, Map<Integer, Integer> itemMap,
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap) {
SItem sItem = SItem.getsItemMap().get(itemId);
int itemType =getItemType(sItem);
switch (itemType) {
case GlobalItemType.SOUL_MARK:
case GlobalItemType.ITEM:
putcountMap(itemId,MathUtils.numRount((itemNum * dropRatio)) , itemMap);
break;
return itemMap;
case GlobalItemType.CARD:
putcountMap(itemId, itemNum, cardMap);
break;
return cardMap;
case GlobalItemType.EQUIP:
case GlobalItemType.ESPECIAL_EQUIP:
case GlobalItemType.JEWEL:
putcountMap(itemId, itemNum, equipMap);
break;
return equipMap;
case GlobalItemType.RANDOM_ITME:
putcountMap(itemId, itemNum, randomMap);
break;
return randomMap;
default:
break;
LOGGER.error("新增类型请通知后端");
return new HashMap<>();
}
}