宝物修改

back_recharge
lvxinran 2020-05-06 09:58:15 +08:00
parent 3d90b3a15d
commit 3e3219fe05
1 changed files with 33 additions and 38 deletions

View File

@ -1661,35 +1661,8 @@ public class HeroLogic{
user.getUserMissionManager().onGameEvent(user,GameEvent.WEAR_EQUIP,equipInfoTmp.size());
equipIds.forEach(equipId->equipManager.getEquipMap().get(equipId).setHeroId(heroId));
}else if(type ==2){
if(equipIds.size()!=1){
throw new ErrorCodeException(ErrorCode.HERO_OPT_ONE);
}else{
String jId = equipIds.get(0);
Jewel equip =(Jewel)equipManager.getEquipMap().get(jId);
if( null == equip || null == hero ||hero.getJewelInfo().contains(jId)){
throw new ErrorCodeException(ErrorCode.HERO_EQUIP_ERR);
}
String remove = "";
for(String jewelId:hero.getJewelInfo()){
PropertyItem propertyItem = equipManager.getEquipMap().get(jewelId);
if(propertyItem==null){
continue;
}
if(propertyItem instanceof Jewel){
if(equip.getJewelType()==((Jewel) propertyItem).getJewelType()){
remove = propertyItem.getId();
}
}
}
hero.addJewel(jId);
equip.setHeroId(heroId);
if(!StringUtil.isEmpty(remove)){
hero.removeJewel(remove);
}
// checkAllowedOpt(1,user,hero.getStar());
// hero.updateEspecial(equipIds.get(0));
for(String jId:equipIds){
wearJewel(hero,equipManager,jId);
}
}
@ -1703,6 +1676,31 @@ public class HeroLogic{
}
private void wearJewel(Hero hero,EquipManager equipManager,String equipId)throws Exception{
Jewel equip =(Jewel)equipManager.getEquipMap().get(equipId);
if( null == equip || null == hero ||hero.getJewelInfo().contains(equipId)){
throw new ErrorCodeException(ErrorCode.HERO_EQUIP_ERR);
}
String remove = "";
for(String jewelId:hero.getJewelInfo()){
PropertyItem propertyItem = equipManager.getEquipMap().get(jewelId);
if(propertyItem==null){
continue;
}
if(propertyItem instanceof Jewel){
if(equip.getJewelType()==((Jewel) propertyItem).getJewelType()){
remove = propertyItem.getId();
}
}
}
hero.addJewel(equipId);
equip.setHeroId(hero.getId());
if(!StringUtil.isEmpty(remove)){
hero.removeJewel(remove);
}
}
@ -1733,16 +1731,13 @@ public class HeroLogic{
hero.removeEquip(position);
}
}else if(type==2){
if(equipIds.size()>1){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
for(String equipId:equipIds){
if(!hero.getJewelInfo().contains(equipId)||equipMap.get(equipId)==null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
equipMap.get(equipId).setHeroId("");
hero.removeJewel(equipId);
}
String jId = equipIds.get(0);
if(!hero.getJewelInfo().contains(jId)||equipMap.get(jId)==null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
equipMap.get(jId).setHeroId("");
hero.removeJewel(jId);
}
//发送成功消息