修复小兵属性

master_yuenan
DESKTOP-C3M45P4\dengdan 2026-02-05 15:01:12 +08:00
parent 3572d53704
commit bb465b46fb
3 changed files with 39 additions and 4 deletions

View File

@ -33,6 +33,7 @@ import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.question.QuestionLogic;
import com.ljsd.jieling.logic.soldier.SoldierLogic;
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType;
@ -85,6 +86,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
boolean flag = GlobalDataManaager.checkNeedReFlush(iSession,user,null);
GmSingleActivityLogic.getInstance().updateGmSingle(user);
BuyGoodsNewLogic.refreshWelfareState(user);
//小兵修复
SoldierLogic.getInstance().soliderReset(user);
// 罗浮争锋,领取称号奖励
LuofuLogic.getInstance().takeTitleReward(user);
if(!flag){

View File

@ -241,6 +241,7 @@ public class PlayerManager extends MongoBase {
public int playerGodTowerNum;//主角神觉塔层数
public int playerGodLevel;//主角成神阶数(1半神2神3神王)
public Map<Integer,Integer> playerGodMeridiansLevels = new HashMap<Integer,Integer>();//主角六道神脉等级
public int soliderRest = 0;//小兵是否修复过属性
public void putDesireDraw(int type, int tempId) {
this.desireDraw.put(type, tempId);
@ -1634,4 +1635,12 @@ public class PlayerManager extends MongoBase {
return list;
}
public int getSoliderRest() {
return soliderRest;
}
public void setSoliderRest(int soliderRest) {
this.soliderRest = soliderRest;
updateString("soliderRest", this.soliderRest);
}
}

View File

@ -7,10 +7,7 @@ import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent;
import com.ljsd.jieling.logic.dao.MainLevelManager;
import com.ljsd.jieling.logic.dao.Soldier;
import com.ljsd.jieling.logic.dao.TeamEnum;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
@ -435,4 +432,30 @@ public class SoldierLogic {
}
return HeroLogic.getInstance().calForce(attr);
}
/**
*
* @param user
*/
public void soliderReset(User user){
PlayerManager playerManager = user.getPlayerInfoManager();
if(playerManager.getSoliderRest() == 1){
return;
}
Collection<Soldier> values = user.getMainLevelManager().getSoldierMap().values();
if(values == null || values.size() ==0){
playerManager.setSoliderRest(1);
return;
}
for (Soldier soldier : values) {
Map<Integer, Long> attributes = new HashMap<>();
for (Map.Entry<Integer, Long> entry : soldier.getAttributes().entrySet()) {
Integer id = entry.getKey();
//属性削弱10倍
attributes.put(id,entry.getValue()/10);
}
soldier.setAttributes(attributes);
}
playerManager.setSoliderRest(1);
}
}