From bb465b46fb61073d887aab2b15a30e79f7a635fb Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Thu, 5 Feb 2026 15:01:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B0=8F=E5=85=B5=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetPlayerInfoHandler.java | 3 ++ .../ljsd/jieling/logic/dao/PlayerManager.java | 9 ++++++ .../jieling/logic/soldier/SoldierLogic.java | 31 ++++++++++++++++--- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 9c698e5f8..2e9d5b8e4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -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){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 45ab2aab7..e2509da47 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -241,6 +241,7 @@ public class PlayerManager extends MongoBase { public int playerGodTowerNum;//主角神觉塔层数 public int playerGodLevel;//主角成神阶数(1半神2神3神王) public Map playerGodMeridiansLevels = new HashMap();//主角六道神脉等级 + 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); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java index 3cf2d097a..80b51162a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java @@ -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 values = user.getMainLevelManager().getSoldierMap().values(); + if(values == null || values.size() ==0){ + playerManager.setSoliderRest(1); + return; + } + for (Soldier soldier : values) { + Map attributes = new HashMap<>(); + for (Map.Entry entry : soldier.getAttributes().entrySet()) { + Integer id = entry.getKey(); + //属性削弱10倍 + attributes.put(id,entry.getValue()/10); + } + soldier.setAttributes(attributes); + } + playerManager.setSoliderRest(1); + } }