fix online
parent
08615efd4f
commit
cf0b06fa8c
|
@ -448,7 +448,7 @@ public class FriendLogic {
|
|||
User friendUser = UserManager.getUser(friendId);
|
||||
FriendManager friendManager1 = friendUser.getFriendManager();
|
||||
Map<Integer, Integer> haveRewardMap = friendUser.getFriendManager().getHaveRewardMap();
|
||||
if (haveRewardMap.get(uid) != 0) {
|
||||
if (haveRewardMap.containsKey(uid) && haveRewardMap.get(uid) != 0) {
|
||||
MessageUtil.sendErrorResponse(iSession, 0, msgId, "已经赠送过");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -4,9 +4,12 @@ import com.ljsd.GameApplication;
|
|||
import com.ljsd.jieling.chat.logic.ChatLogic;
|
||||
import com.ljsd.jieling.config.*;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.core.HandlerLogicThread;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
|
@ -14,6 +17,8 @@ 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.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.HeroInfoProto;
|
||||
|
@ -914,7 +919,7 @@ public class HeroLogic {
|
|||
public Map<Integer,Integer> calHeroNotBufferAttribute(User user, Hero hero,boolean isForce,int teamId){
|
||||
Map<Integer, Integer> heroAllAttribute = calHeroAllAttribute(hero,isForce);
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
|
||||
Collection<String> values = hero.getEquipByPositionMap().values();
|
||||
|
||||
EquipManager equipManager = user.getEquipManager();
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
|
@ -938,16 +943,50 @@ public class HeroLogic {
|
|||
}
|
||||
//装备总战力评分
|
||||
int equipForce=0;
|
||||
for(String equipId:values){
|
||||
boolean needRemove = false;
|
||||
Iterator<Map.Entry<Integer, String>> iterator = hero.getEquipByPositionMap().entrySet().iterator();
|
||||
while (iterator.hasNext()){
|
||||
Map.Entry<Integer, String> next = iterator.next();
|
||||
String equipId = next.getValue();
|
||||
Equip equip = equipManager.getEquipMap().get(equipId);
|
||||
if(equip == null){
|
||||
needRemove = true;
|
||||
continue;
|
||||
}
|
||||
Map<Integer, Integer> propertyValueByIdMap = equip.getPropertyValueByIdMap();
|
||||
Map<Integer, Integer> secondValueByIdMap = equip.getSecondValueByIdMap();
|
||||
// LOGGER.info("cal equip = {}",equip.getEquipId());
|
||||
// LOGGER.info("cal equip = {}",equip.getEquipId());
|
||||
combinedAttribute(propertyValueByIdMap,heroAllAttribute);
|
||||
combinedAttribute(secondValueByIdMap,heroAllAttribute);
|
||||
SEquipConfig sEquipConfig = SEquipConfig.getsEquipConfigById(equip.getEquipId());
|
||||
equipForce+=sEquipConfig.getScore();
|
||||
// LOGGER.info("cal equip = {} end",equip.getEquipId());
|
||||
}
|
||||
if(needRemove){
|
||||
AyyncWorker ayyncWorker = new AyyncWorker(user,true) {
|
||||
@Override
|
||||
public void work(User user) throws Exception {
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
for(Hero heroTmp : heroMap.values()){
|
||||
Iterator<Map.Entry<Integer, String>> iterator = heroTmp.getEquipByPositionMap().entrySet().iterator();
|
||||
boolean isUpate = false;
|
||||
while (iterator.hasNext()){
|
||||
Map.Entry<Integer, String> next = iterator.next();
|
||||
String equipId = next.getValue();
|
||||
Equip equip = equipManager.getEquipMap().get(equipId);
|
||||
if(equip == null){
|
||||
iterator.remove();
|
||||
isUpate = true;
|
||||
}
|
||||
}
|
||||
if(isUpate){
|
||||
heroTmp.setEquipByPositionMap(heroTmp.getEquipByPositionMap());
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
ProtocolsManager instance = ProtocolsManager.getInstance();
|
||||
HandlerLogicThread handlerThread = instance.handlerThreads[user.getId() % instance.HANDLER_THREAD_NUM];
|
||||
handlerThread.addAyyncWorker(ayyncWorker);
|
||||
}
|
||||
//天赋异妖加成
|
||||
Map<Integer, Pokemon> ringFireMap = pokemonManager.getRingFireMap();
|
||||
|
|
|
@ -274,7 +274,7 @@ public class CBean2Proto {
|
|||
if (giveMap.size() != 0 && giveMap.containsKey(friendId)){
|
||||
isGrive = giveMap.get(friendId);
|
||||
}
|
||||
if (haveRewardMap.size() != 0 && giveMap.containsKey(friendId)){
|
||||
if (haveRewardMap.size() != 0 && giveMap.containsKey(friendId) && haveRewardMap.containsKey(friendId)){
|
||||
haveReward = haveRewardMap.get(friendId) ==2?0:haveRewardMap.get(friendId);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue