back_recharge
wangyuan 2019-05-05 20:41:48 +08:00
parent edddf28ffb
commit f85bdde48e
2 changed files with 25 additions and 3 deletions

View File

@ -7,6 +7,7 @@ import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.hero.HeroAttributeEnum;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.FightInfoProto;
@ -249,6 +250,9 @@ public class CombatLogic {
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
for(Map.Entry<String,Map<Integer,Integer>> item : heroAllAttributeMap.entrySet()){
Map<Integer, Integer> value = item.getValue();
if(value.get(HeroAttributeEnum.CurHP.getPropertyId()) == 0){
continue;
}
for(int[] effectPara : effectParas){
int effectId = effectPara[0];
int effectValue = effectPara[1];
@ -256,7 +260,22 @@ public class CombatLogic {
value.put(effectId,effectValue);
continue;
}
value.put( effectId,value.get(effectId) + effectValue );
int finalValue = value.get(effectId) + effectValue;
if(finalValue < 0){
finalValue = 0;
}
if(effectId == HeroAttributeEnum.CurHP.getPropertyId()){
Integer maxValue = value.get(HeroAttributeEnum.Hp.getPropertyId());
if(finalValue>maxValue){
finalValue = maxValue;
}
if(finalValue == 0){
finalValue =1;
}
}
value.put( effectId,finalValue );
change = true;
}
}

View File

@ -316,7 +316,7 @@ public class WorkShopLogic {
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.WORKSHOP_REBUILD_RESPONSE_VALUE,"");
return;
}
String err = checkForRebuildEquip(user, consumeEquipIds, sEquipConfig);
String err = checkForRebuildEquip(user, consumeEquipIds, sEquipConfig,equipId);
if(!"".equals(err)){
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.WORKSHOP_REBUILD_RESPONSE_VALUE,err);
return;
@ -332,7 +332,7 @@ public class WorkShopLogic {
}
private String checkForRebuildEquip( User user,List<String> consumeEquipIds,SEquipConfig sEquipConfig) throws Exception {
private String checkForRebuildEquip( User user,List<String> consumeEquipIds,SEquipConfig sEquipConfig,String excludeEquipId) throws Exception {
EquipManager equipManager = user.getEquipManager();
Map<String, Equip> equipMap = equipManager.getEquipMap();
SWorkShopRebuildConfig sWorkShopRebuildConfig = SWorkShopRebuildConfig.getsWorkShopRebuildConfigByQulity(sEquipConfig.getQuality());
@ -345,6 +345,9 @@ public class WorkShopLogic {
return "祭品数量不对";
}
for(String consumeEquipId : consumeEquipIds){
if(consumeEquipId.equals(excludeEquipId)){
return "祭品错误";
}
Equip consumeEquip = equipMap.get(consumeEquipId);
if(consumeEquip == null){
costResult = false;