法相bug修复

back_recharge
duhui 2023-04-19 14:52:28 +08:00
parent 82a4969341
commit e0d887806b
3 changed files with 13 additions and 5 deletions

View File

@ -201,6 +201,11 @@ public class Hero extends MongoBase implements Comparable<Hero>,Cloneable {
updateString("faxiangList",faxiangList);
}
public void setFaxiang(Set<String> list) {
faxiangList = list;
updateString("faxiangList",faxiangList);
}
public void uninstallFaxiang(String key) {
this.faxiangList.remove(key);
updateString("faxiangList",faxiangList);

View File

@ -74,13 +74,13 @@ public class EquipLogic {
for (String faxiangId : heroFaxiangList) {
Faxiang heroFaxiang = equipManager.getFaxiang(faxiangId);
if (heroFaxiang == null){
hero.uninstallFaxiang(faxiangId);
removeList.add(faxiangId);
LOGGER.error("法相不存在装备库中已卸载uid:{}, hero:{}, faxiang:{}",user.getId(),heroID,faxiangId);
continue;
}
SFaxiangConfig heroFaxiangConfig = SFaxiangConfig.faxiangMap.get(heroFaxiang.getItemId());
if (heroFaxiangConfig == null){
hero.uninstallFaxiang(faxiangId);
removeList.add(faxiangId);
LOGGER.error("法相不存在配置表中已卸载uid:{}, hero:{}, faxiang:{}",user.getId(),heroID,faxiangId);
continue;
}

View File

@ -4440,10 +4440,13 @@ public class HeroLogic {
// 法相
Set<String> faxiangList = hero.getFaxiangList();
if (faxiangList != null && !faxiangList.isEmpty()){
for (String key : faxiangList) {
hero.uninstallFaxiang(key);
user.getEquipManager().unloadFaxiang(key);
Iterator<String> iterator = faxiangList.iterator();
while (iterator.hasNext()){
String next = iterator.next();
user.getEquipManager().unloadFaxiang(next);
iterator.remove();
}
hero.setFaxiang(faxiangList);
}
}
int breakId = hero.getBreakId();