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