同系祭品
parent
4761478c74
commit
174a0f799a
|
@ -1025,7 +1025,10 @@ public class HeroLogic{
|
|||
int starLimit = sHeroRankupGroup.getStarLimit();
|
||||
int isSameClan = sHeroRankupGroup.getIsSameClan();
|
||||
int isId = sHeroRankupGroup.getIsId();
|
||||
// 万能道具代替
|
||||
List<Integer> items = Arrays.stream(sHeroRankupGroup.getItems()).boxed().collect(Collectors.toList());
|
||||
// 专属道具代替
|
||||
int[][] itemCamp = sHeroRankupGroup.getItemCamp();
|
||||
for(HeroInfoProto.ConsumeItem consume : list){
|
||||
// 英雄
|
||||
if (consume.getType() == 1){
|
||||
|
@ -1069,11 +1072,15 @@ public class HeroLogic{
|
|||
}
|
||||
// 道具
|
||||
else {
|
||||
if (!items.contains(Integer.parseInt(consume.getItemId()))){
|
||||
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
||||
int itemId = Integer.parseInt(consume.getItemId());
|
||||
if (!items.contains(itemId)){
|
||||
boolean camp = upStartItemCamp(scHero.getPropertyName(), itemCamp, itemId);
|
||||
if (!camp){
|
||||
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
||||
}
|
||||
}
|
||||
Integer num = removeItemMap.getOrDefault(Integer.parseInt(consume.getItemId()), 0);
|
||||
removeItemMap.put(Integer.parseInt(consume.getItemId()),num+1);
|
||||
Integer num = removeItemMap.getOrDefault(itemId, 0);
|
||||
removeItemMap.put(itemId,num+1);
|
||||
}
|
||||
}
|
||||
// 校验道具数量
|
||||
|
@ -1145,6 +1152,22 @@ public class HeroLogic{
|
|||
ReportUtil.onReportEvent(user, ReportEventEnum.HERO_STRENGTHEN.getType(),String.valueOf(targetHero.getTemplateId()),String.valueOf(oldStar),String.valueOf(targetHero.getStar()),consume,reportConsumeHero.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 升星验证同系道具
|
||||
* @param type
|
||||
* @param itemCamp
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
private boolean upStartItemCamp(int type,int[][] itemCamp,int itemId){
|
||||
for (int[] ints : itemCamp) {
|
||||
if (type == ints[0] && itemId == ints[1]){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
private void rankUpHeroExecute(Hero hero)throws Exception {
|
||||
//是否解锁法宝
|
||||
|
|
|
@ -16,6 +16,8 @@ public class SHeroRankupGroup implements BaseConfig {
|
|||
private int isId;
|
||||
|
||||
private int[] items;
|
||||
|
||||
private int[][] itemCamp;
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
@ -44,4 +46,8 @@ public class SHeroRankupGroup implements BaseConfig {
|
|||
public int[] getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
public int[][] getItemCamp() {
|
||||
return itemCamp;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue