Merge branch 'master' of 60.1.1.230:backend/jieling_server
commit
3a1a415024
|
@ -74,6 +74,7 @@ public interface BIReason {
|
|||
int MONSTERATTACK_BACK = 45; // 妖兽来袭预扣归还
|
||||
|
||||
int FIRST_ADVENTURE_REWARD = 46; // 秘境首次奖励外敌挑战券
|
||||
int UPHERO_DECOMPOS_HERO_REWARD= 47 ;//进阶妖灵师返还奖励
|
||||
|
||||
//道具消耗原因 1000开头
|
||||
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级
|
||||
|
|
|
@ -37,7 +37,8 @@ public class UseAndPriceItemHandler extends BaseHandler {
|
|||
} else if (type == 2){ //分解装备
|
||||
ItemLogic.getInstance().decomposeEquip(iSession,equipIdsList);
|
||||
}else{
|
||||
ItemLogic.getInstance().decomposeHero(iSession,heroIdsList);
|
||||
CommonProto.Drop.Builder baseBuilder =ItemLogic.getInstance().decomposeHero(iSession,heroIdsList,null, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE);
|
||||
ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, baseBuilder);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import com.ljsd.jieling.logic.activity.event.Poster;
|
|||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
@ -626,12 +627,13 @@ public class HeroLogic {
|
|||
}
|
||||
|
||||
//删除hero
|
||||
recyleHeroBySystem(user,removeHeroIds);
|
||||
CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE);
|
||||
// recyleHeroBySystem(user,removeHeroIds);
|
||||
targetHero.upStar( 1 );
|
||||
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getStar()));
|
||||
targetHero.setStarBreakId(scHeroRankUpConfig.getId());
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId(),targetHero.getStar());
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true);
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,baseBuilder.build(),true);
|
||||
if(targetHero.getStar()>=7){
|
||||
String message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_hero_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName(),targetHero.getStar()});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,targetHero.getTemplateId(),0,0,0,0,0);
|
||||
|
|
|
@ -15,10 +15,7 @@ import com.ljsd.jieling.util.*;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class ItemLogic {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ItemLogic.class);
|
||||
|
@ -92,7 +89,7 @@ public class ItemLogic {
|
|||
return "";
|
||||
}
|
||||
|
||||
private void sendUseAndPriceItemMessage(ISession iSession, int msgId, CommonProto.Drop.Builder drop) {
|
||||
public static void sendUseAndPriceItemMessage(ISession iSession, int msgId, CommonProto.Drop.Builder drop) {
|
||||
PlayerInfoProto.UseAndPriceItemResponse useAndPriceItemResponse = PlayerInfoProto.UseAndPriceItemResponse.newBuilder()
|
||||
.setDrop(drop)
|
||||
.build();
|
||||
|
@ -200,20 +197,20 @@ public class ItemLogic {
|
|||
}
|
||||
|
||||
/**
|
||||
* 分解卡牌
|
||||
* 分解卡牌|进阶消耗
|
||||
* @param iSession
|
||||
* @param heroIdsList
|
||||
*/
|
||||
public void decomposeHero(ISession iSession, List<String> heroIdsList) throws Exception {
|
||||
int msgId = MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE;
|
||||
public CommonProto.Drop.Builder decomposeHero(ISession iSession, List<String> heroIdsList,Set<Integer> filterItem,int msgId) throws Exception {
|
||||
int uid = iSession.getUid();
|
||||
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
||||
User user = UserManager.getUser(uid);
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
StringBuilder reward = new StringBuilder();
|
||||
String erroMags = checkHeroResolve(heroIdsList,user);
|
||||
if (!erroMags.isEmpty()){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,erroMags);
|
||||
return;
|
||||
return baseBuilder;
|
||||
}
|
||||
//1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料
|
||||
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
|
||||
|
@ -248,10 +245,15 @@ public class ItemLogic {
|
|||
reward.append("#").append(sItem.getResolveReward());
|
||||
}
|
||||
}
|
||||
int reson =BIReason.DECOMPOS_HERO_REWARD;
|
||||
if(null!=filterItem){
|
||||
reson= BIReason.UPHERO_DECOMPOS_HERO_REWARD;
|
||||
filterItem.retainAll(baseItemMap.keySet());
|
||||
filterItem.forEach(baseItemMap::remove);
|
||||
}
|
||||
ItemUtil.combineReward(user,StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
||||
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, BIReason.DECOMPOS_HERO_REWARD);
|
||||
sendUseAndPriceItemMessage(iSession, msgId, baseBuilder);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, reson);
|
||||
return baseBuilder;
|
||||
}
|
||||
|
||||
private String checkHeroResolve(List<String> heroIdsList,User user){
|
||||
|
|
Loading…
Reference in New Issue