From 249580edf7a56afeb7d37586e0a2a7db0694a743 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 27 Nov 2020 14:07:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9A=82=E5=AD=98=EF=BC=8C=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=B2=A1=E5=86=99=E5=AE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/core/VipPrivilegeType.java | 2 + .../activity/NewGeneralAttackHandler.java | 37 +++++++++++++++++++ .../jieling/logic/activity/ActivityType.java | 3 +- .../logic/activity/ActivityTypeEnum.java | 2 + 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java index aded16a3a..ff0663d51 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java @@ -48,4 +48,6 @@ public interface VipPrivilegeType { int DRAGON_TREASURE_SUPPLY = 1007;//青龙宝藏每周补给 + int NEW_GENERAL_ATTACK_NUM = 3005; + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java new file mode 100644 index 000000000..89f246ca2 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -0,0 +1,37 @@ +package com.ljsd.jieling.handler.activity; + +import com.google.protobuf.GeneratedMessage; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.VipInfo; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.protocols.ActivityProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import config.SPrivilegeTypeConfig; + +public class NewGeneralAttackHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.NewGeneralAttackRequest; + } + + @Override + public GeneratedMessage processWithProto(int uid, ActivityProto.NewGeneralAttackRequest proto) throws Exception { + + User user = UserManager.getUser(uid); + if (user == null) { + throw new ErrorCodeException(ErrorCode.UNKNOWN); + } + + VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(proto.getActivityId()); + SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(proto.getCountId()); + if (sPrivilegeTypeConfig == null || vipInfo == null){ + throw new ErrorCodeException(ErrorCode.UNKNOWN); + } + + + return null; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index 44428085a..5b2a0168b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -82,5 +82,6 @@ public interface ActivityType { int SKIN_RECHARGE_ACTIVITY = 71; int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽限时抽卡 int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包 - + int NEW_GENERAL_RECRUITING = 102;//新将招募 + int NEW_GENERAL_ATTACK = 103;//新将来袭 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index 7b46d2156..86a94b89f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -63,6 +63,8 @@ public enum ActivityTypeEnum { SKIN_RECHARGE_ACTIVITY(ActivityType.SKIN_RECHARGE_ACTIVITY, DefaultEmptyActivity::new), SPECIAL_MONSTER_RANDOM_ACTIVITY(ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY,LimitRandomSpecialMonsterActivity::new), SPECIAL_MONSTER_GIFT_ACTIVITY(ActivityType.SPECIAL_MONSTER_GIFT_ACTIVITY,DefaultEmptyActivity::new), + NEW_GENERAL_RECRUITING(ActivityType.NEW_GENERAL_RECRUITING,LimitRandomCardActivity::new), + NEW_GENERAL_ATTACK(ActivityType.NEW_GENERAL_ATTACK,DefaultEmptyActivity::new), ; private int type; private Function toActivityFunction; From ed7d883cce30fb328b636afca3e0c3ef76f9fd1a Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 2 Dec 2020 10:29:51 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A42?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/globals/BIReason.java | 2 + .../activity/NewGeneralAttackHandler.java | 74 +++++++++++++++++-- .../jieling/logic/activity/ActivityType.java | 4 +- .../logic/activity/ActivityTypeEnum.java | 2 +- 4 files changed, 72 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index c9c843df9..52bd3613d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -298,4 +298,6 @@ public interface BIReason { int SKIN_USE_CONSUME = 1073;//激活皮肤消耗 int SUB_ACTIVITY_CONSUME = 1074;//易经宝库 int SUB_ACTIVITY_CONSUME_FINISH = 1075;//易经宝库活动结束补发消耗 + + int NEW_GENERAL_ATTACK = 1076;//新将来袭 } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java index 89f246ca2..1ec5ee6fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -1,16 +1,32 @@ package com.ljsd.jieling.handler.activity; import com.google.protobuf.GeneratedMessage; +import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.VipInfo; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.fight.FightDispatcher; +import com.ljsd.jieling.logic.fight.GameFightType; +import com.ljsd.jieling.logic.fight.PVEFightEvent; +import com.ljsd.jieling.logic.fight.result.FightResult; +import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.protocols.ActivityProto; +import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; -import config.SPrivilegeTypeConfig; +import com.ljsd.jieling.util.ItemUtil; +import config.SMonsterConfig; +import config.SMonsterGroup; +import config.SNewHeroConfig; +import manager.STableManager; +/*** + * @author hj + * @date 2020-11-27 + * 新将来袭 + */ public class NewGeneralAttackHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { @@ -20,18 +36,62 @@ public class NewGeneralAttackHandler extends BaseHandler hurt[i][0]/100){ + dropList[i] = hurt[i][1]; + } + } + // 道具逻辑,封装好的 + CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1,0, BIReason.NEW_GENERAL_ATTACK); + // 消耗道具 + PlayerLogic.getInstance().checkAndUpdate(user, proto.getPrivilageTypeId(),1); + + return ActivityProto.NewGeneralAttackResponse.newBuilder().setFightData(fightData).setDrop(drop).build(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index 5b2a0168b..a37763ae3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -82,6 +82,6 @@ public interface ActivityType { int SKIN_RECHARGE_ACTIVITY = 71; int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽限时抽卡 int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包 - int NEW_GENERAL_RECRUITING = 102;//新将招募 - int NEW_GENERAL_ATTACK = 103;//新将来袭 +// int NEW_GENERAL_RECRUITING = 102;//新将招募 + int NEW_GENERAL_ATTACK = 200;//新将来袭 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index 86a94b89f..579831485 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -63,7 +63,7 @@ public enum ActivityTypeEnum { SKIN_RECHARGE_ACTIVITY(ActivityType.SKIN_RECHARGE_ACTIVITY, DefaultEmptyActivity::new), SPECIAL_MONSTER_RANDOM_ACTIVITY(ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY,LimitRandomSpecialMonsterActivity::new), SPECIAL_MONSTER_GIFT_ACTIVITY(ActivityType.SPECIAL_MONSTER_GIFT_ACTIVITY,DefaultEmptyActivity::new), - NEW_GENERAL_RECRUITING(ActivityType.NEW_GENERAL_RECRUITING,LimitRandomCardActivity::new), +// NEW_GENERAL_RECRUITING(ActivityType.NEW_GENERAL_RECRUITING,LimitRandomCardActivity::new), NEW_GENERAL_ATTACK(ActivityType.NEW_GENERAL_ATTACK,DefaultEmptyActivity::new), ; private int type; From e0c2c513036cf4dc2499ae31a95d6e59ae01b850 Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 2 Dec 2020 14:13:11 +0800 Subject: [PATCH 3/5] no message --- .../ljsd/jieling/handler/activity/NewGeneralAttackHandler.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java index 1ec5ee6fe..6b134aa01 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -21,12 +21,14 @@ import config.SMonsterConfig; import config.SMonsterGroup; import config.SNewHeroConfig; import manager.STableManager; +import org.springframework.stereotype.Component; /*** * @author hj * @date 2020-11-27 * 新将来袭 */ +@Component public class NewGeneralAttackHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { From 686596375d35597f495c1429f012b1f70dfc8371 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 3 Dec 2020 10:27:55 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=96=B0=E5=B0=86=E6=9D=A5=E8=A2=AD?= =?UTF-8?q?=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/NewGeneralAttackHandler.java | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java index 6b134aa01..1f41398af 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -23,6 +23,8 @@ import config.SNewHeroConfig; import manager.STableManager; import org.springframework.stereotype.Component; +import java.text.NumberFormat; + /*** * @author hj * @date 2020-11-27 @@ -58,17 +60,28 @@ public class NewGeneralAttackHandler extends BaseHandler hurt[i][0]/100){ + float h = hurt[i][0]; + if (b >= h){ dropList[i] = hurt[i][1]; } } From c1fcfcf3a2654350cb67f2a3c446657c45e6d2a6 Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 7 Dec 2020 13:53:25 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=96=B0=E5=B0=86=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=BA=94=E7=AD=96=E5=88=92=E9=9C=80=E6=B1=82=E6=94=B9=E7=89=88?= =?UTF-8?q?=EF=BC=8C=E6=8E=89=E8=90=BD=E6=AF=94=E4=BE=8B=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/NewGeneralAttackHandler.java | 23 +++++++++++-------- .../java/com/ljsd/jieling/util/ItemUtil.java | 23 ++++++++++++++++++- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java index 1f41398af..163a6408b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -24,6 +24,7 @@ import manager.STableManager; import org.springframework.stereotype.Component; import java.text.NumberFormat; +import java.util.ArrayList; /*** * @author hj @@ -57,7 +58,7 @@ public class NewGeneralAttackHandler extends BaseHandler= h){ - dropList[i] = hurt[i][1]; - } - } + int[] dropList = new int[1]; + // 道具逻辑,封装好的 - CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1,0, BIReason.NEW_GENERAL_ATTACK); + CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder(); + + for (int i = 0; i < hurtList.length; i++) { + // 当前类型奖励次数 + float v = b / hurtList[i][0]; + dropList[0] = hurtList[i][1]; + ItemUtil.drop(user, dropList,drop,v,0, BIReason.NEW_GENERAL_ATTACK); + System.out.println(); + } // 消耗道具 PlayerLogic.getInstance().checkAndUpdate(user, proto.getPrivilageTypeId(),1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 86c4631bc..f3efd0a3f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -227,7 +227,7 @@ public class ItemUtil { * @return * @throws Exception */ - public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,float dropRatio, int isMapping,int reason) throws Exception { + public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,float dropRatio, int isMapping,int reason) throws Exception { CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); Map itemMap = new HashMap<>(); Map cardMap = new HashMap<>(); @@ -249,6 +249,27 @@ public class ItemUtil { return dropBuilder; } + public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,CommonProto.Drop.Builder dropBuilder,float dropRatio, int isMapping,int reason) throws Exception { + Map itemMap = new HashMap<>(); + Map cardMap = new HashMap<>(); + Map equipMap = new HashMap<>(); + Map randomMap = new HashMap<>(); + ItemMap itemObj = new ItemMap(); + + combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap,itemObj); + useRandomItem(user,randomMap,reason); + if (isMapping == 1) { + addItemToTemporaryBag(user, itemMap, equipMap, dropBuilder); + } else { + addItem(user,itemMap,dropBuilder,reason); + addEquip(user,equipMap,dropBuilder,reason); + addSpecialMonster(user,itemObj,dropBuilder,reason); + + } + addCard(user,cardMap,dropBuilder,reason); + return dropBuilder; + } + /** * @param user * @param dropGroupIds