back_recharge
zhangshanxue 2020-08-13 12:07:29 +08:00
commit 53993024b6
3 changed files with 31 additions and 20 deletions

View File

@ -94,7 +94,7 @@ public class SituationLogic {
} }
isOpen = true; isOpen = true;
} }
if((isOpen&&status[config[0]-1]==1)||(!isOpen&&status[config[0]-1]==0)){ if((isOpen&&status[config[0]-1]==0)||(!isOpen&&status[config[0]-1]==1)){
isIndication = true; isIndication = true;
} }
status[config[0]-1] = isOpen?1:0; status[config[0]-1] = isOpen?1:0;

View File

@ -164,7 +164,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
} }
} }
// KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId); // KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
ReportUtil.onReportEvent(user, ReportEventEnum.COMPLETE_ACTIVITY.getType(),String.valueOf(id),String.valueOf(missionId),reward); ReportUtil.onReportEvent(user, ReportEventEnum.COMPLETE_ACTIVITY.getType(),String.valueOf(id),String.valueOf(missionId),reward[0]);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
return true; return true;

View File

@ -303,6 +303,9 @@ public class HeroLogic{
} }
List<String> result = new ArrayList<>(resultRandom.length); List<String> result = new ArrayList<>(resultRandom.length);
for(int[] random:resultRandom){ for(int[] random:resultRandom){
if(random==null){
continue;
}
SCHero scHero = SCHero.getsCHero().get(random[0]); SCHero scHero = SCHero.getsCHero().get(random[0]);
if(scHero==null){ if(scHero==null){
result.add(String.valueOf(random[0])); result.add(String.valueOf(random[0]));
@ -915,11 +918,14 @@ public class HeroLogic{
//删除hero //删除hero
// CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE); // CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE);
//改成归元获得 //改成归元获得,同时返还法宝获得
CommonProto.Drop.Builder baseBuilder = heroBackDrop(user,new ArrayList<>(removeHeroIds),10000,BIReason.UPHERO_DECOMPOS_HERO_REWARD,true); CommonProto.Drop.Builder baseBuilder = heroBackDrop(user,new ArrayList<>(removeHeroIds),10000,BIReason.UPHERO_DECOMPOS_HERO_REWARD,true);
for(String rmHeroId:removeHeroIds){
heroManager.removeHero(uid,rmHeroId);
}
// recyleHeroBySystem(user,removeHeroIds); // recyleHeroBySystem(user,removeHeroIds);
rankUpHeroExecute(targetHero); rankUpHeroExecute(targetHero);
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar()));
if(targetHero.getStar()>=5&&targetHero.getStar()!=15){ if(targetHero.getStar()>=5&&targetHero.getStar()!=15){
@ -2419,6 +2425,7 @@ public class HeroLogic{
if(!b){ if(!b){
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT); throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
} }
//单纯归元神将,不归元法宝
CommonProto.Drop.Builder drop = heroBackDrop(user, heroList, returnPercent, BIReason.HERO_BACK_REWARD,false); CommonProto.Drop.Builder drop = heroBackDrop(user, heroList, returnPercent, BIReason.HERO_BACK_REWARD,false);
List<CommonProto.Item> itemList = drop.getItemlistList(); List<CommonProto.Item> itemList = drop.getItemlistList();
List<Integer> itemId = new ArrayList<>(itemList.size()); List<Integer> itemId = new ArrayList<>(itemList.size());
@ -2506,23 +2513,27 @@ public class HeroLogic{
continue; continue;
} }
//返还法宝修炼材料 //返还法宝修炼材料
int especialEquipLevel = hero.getEspecialEquipLevel(); Map<Integer, Integer> especialEquipReturnItem = ItemLogic.getInstance().heroEspecialEquipReturnItem(hero);
if(especialEquipLevel!=1&&especialEquipLevel!=0){ for(Map.Entry<Integer,Integer> entry:especialEquipReturnItem.entrySet()){
continue; returnItemMap.put(entry.getKey(),returnItemMap.getOrDefault(entry.getKey(),0)+entry.getValue());
}
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
int[] equipTalismana = scHero.getEquipTalismana();
if(equipTalismana!=null&&equipTalismana.length>1){
continue;
}
TreeMap<Integer, SEquipTalismana> levelMap = (TreeMap<Integer, SEquipTalismana>) SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]);
Map<Integer, SEquipTalismana> returnMap = levelMap.subMap(1, hero.getEspecialEquipLevel());
for(Map.Entry<Integer, SEquipTalismana> entry:returnMap.entrySet()){
int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial();
for(int[] rankUpConsume:rankupBasicMaterial){
returnItemMap.put(rankUpConsume[0],returnItemMap.getOrDefault(rankUpConsume[0],0)+rankUpConsume[1]);
}
} }
// int especialEquipLevel = hero.getEspecialEquipLevel();
// if(especialEquipLevel==1||especialEquipLevel==0){
// continue;
// }
// SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
// int[] equipTalismana = scHero.getEquipTalismana();
// if(equipTalismana!=null&&equipTalismana.length>1){
// continue;
// }
// TreeMap<Integer, SEquipTalismana> levelMap = (TreeMap<Integer, SEquipTalismana>) SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]);
// Map<Integer, SEquipTalismana> returnMap = levelMap.subMap(1, hero.getEspecialEquipLevel());
// for(Map.Entry<Integer, SEquipTalismana> entry:returnMap.entrySet()){
// int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial();
// for(int[] rankUpConsume:rankupBasicMaterial){
// returnItemMap.put(rankUpConsume[0],returnItemMap.getOrDefault(rankUpConsume[0],0)+rankUpConsume[1]);
// }
// }
} }
int[][] resultDrop = new int[returnItemMap.size()][]; int[][] resultDrop = new int[returnItemMap.size()][];
int index = 0; int index = 0;