From 0d7d840f20fd61cf569a04ce6a11ca759305ef0c Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Wed, 29 Nov 2023 10:54:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E8=AE=AD=E5=8A=9F=E8=83=BD=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_training.java | 23 +++++++++++++++++++ .../ljsd/jieling/logic/equip/EquipLogic.java | 10 ++++---- .../ljsd/jieling/logic/item/ItemLogic.java | 9 ++++++++ 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_training.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_training.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_training.java new file mode 100644 index 000000000..4a582147f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_training.java @@ -0,0 +1,23 @@ +package com.ljsd.jieling.kefu; + +import com.ljsd.jieling.logic.dao.Hero; +import com.ljsd.jieling.logic.dao.Training; +import com.ljsd.jieling.logic.dao.root.User; + +//training uid heroId lv +public class Cmd_training extends GmRoleAbstract { + @Override + public boolean exec(String[] args) throws Exception { + + String heroId = args[0]; + int lv = Integer.parseInt(args[1]); + + User user = getUser(); + Hero hero = user.getHeroManager().getHero(heroId); + Training training = hero.getTraining(); + training.setLv(lv); + hero.setTraining(training); + + return true; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java index b35679d32..15220f835 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java @@ -656,6 +656,11 @@ public class EquipLogic { } num += config.getGift(); } + // 特训增加的额外收集值 + int maxHeroNum = TrainingLogic.getInstance().getTrainingMaxHeroNum(user); + int value = SSpecialConfig.getIntegerValue("Train_Gift_shouji"); + num += (maxHeroNum * value); + return num; } @@ -676,11 +681,6 @@ public class EquipLogic { break; } } - - // 特训额外增加的格子 - int maxHeroNum = TrainingLogic.getInstance().getTrainingMaxHeroNum(user); - resultBox+=maxHeroNum; - return resultBox; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 7b24a8693..31ef62225 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -481,6 +481,15 @@ public class ItemLogic { if (null != errorMags) { throw new ErrorCodeException(errorMags); } + + for (String id : heroIdsList) { + Hero hero = user.getHeroManager().getHero(id); + int maxLv = STrain.getMaxLv(hero.getTemplateId()); + if (hero.getTraining().getLv() == maxLv){ + throw new ErrorCodeException(ErrorCode.SERVER_DEFINE, "特训满级英雄无法分解"); + } + } + CommonProto.Drop.Builder drop = HeroLogic.getInstance().disbandHeroDrop(user, heroIdsList, BIReason.DECOMPOS_HERO_REWARD); for (String id : heroIdsList) { // 删除英雄