From e97dc6b28c5909e8f7c07f966797916093277a57 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 24 Dec 2020 08:35:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=81=B5=E5=85=BD=E7=9B=B8=E5=85=B3=E6=89=93?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/ktbeans/ReportEventEnum.java | 4 +++ .../ljsd/jieling/logic/hero/HeroLogic.java | 34 ++++++++++++++++++- .../java/com/ljsd/jieling/util/ItemUtil.java | 3 +- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java index e527dd26e..8e9eeeed5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java @@ -82,6 +82,10 @@ public enum ReportEventEnum { LEAVE_PANOPTIC_MIRROR(55,"leave_panoptic_mirror",new CommonEventHandler(),new String[]{"Panoptic_Mirror_id"}), TIME_SUMMON(56,"Time_summon",new CommonEventHandler(),new String[]{"hero_id","summon_type","cost_item_id","cost_amount","hero_id_quality_list"}), FATALITY_SUMMON(57,"fatality_summon",new CommonEventHandler(),new String[]{"hero_id","summon_type","cost_item_id","cost_amount","hero_id_quality_list"}), + GET_BEAST(58,"get_beast",new CommonEventHandler(),new String[]{"beast_id","quality","get_type"}), + BEAST_LEVEL(59,"beast_level",new CommonEventHandler(),new String[]{"beast_id","old_level","new_level","cost_amount","cost_item_list"}), + BEAST_STAR(60,"beast_star",new CommonEventHandler(),new String[]{"beast_id","old_star","new_star","cost_item_list","cost_beast_list"}), + BEAST_SUMMON(61,"beast_summon",new CommonEventHandler(),new String[]{"beast_id","summon_type","new_star","cost_item_id","reward_nums_list"}), VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""}); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 40310fae7..68308d54e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -344,7 +344,7 @@ public class HeroLogic{ CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, resultRandom,BIReason.HERO_RANDOM); builder.setDrop(drop); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE, builder.build(), true); - System.out.println(System.currentTimeMillis()-time); +// System.out.println(System.currentTimeMillis()-time); } @@ -374,6 +374,10 @@ public class HeroLogic{ break; case 2: eventEnum = ReportEventEnum.SUMMON_HERO; + break; + case 9: + eventEnum = ReportEventEnum.BEAST_SUMMON; + break; default: break; @@ -3049,6 +3053,7 @@ public class HeroLogic{ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId); + int oldLevel = pokemon.getLevel(); if(level<=pokemon.getLevel()){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } @@ -3105,6 +3110,16 @@ public class HeroLogic{ HeroInfoProto.PokenmonUpLevelResponse response = HeroInfoProto.PokenmonUpLevelResponse.newBuilder().setLevel(finalLevel).build(); //发送成功消息 MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); + StringBuilder builder = new StringBuilder(); + for(Map.Entry entry:costMap.entrySet()){ + if(builder.length()>0){ + builder.append("|"); + } + builder.append(entry.getKey()).append("#").append(entry.getValue()); + + } + ReportUtil.onReportEvent(user,ReportEventEnum.BEAST_LEVEL.getType(),pokemon.getTmpId(),oldLevel,finalLevel,builder.toString()); + // user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_UPLEVEL,pokemonId); } @@ -3124,6 +3139,7 @@ public class HeroLogic{ if(pokemon == null){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } + int oldStar = pokemon.getStar(); SSpiritAnimal animal = STableManager.getConfig(SSpiritAnimal.class).get(pokemon.getTmpId()); if(animal==null){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); @@ -3140,6 +3156,8 @@ public class HeroLogic{ if(config.getConsumeItemNum()!=consumePokemonIdsList.size()){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } + StringBuilder consumeBuilder = new StringBuilder(); + for(String consume:consumePokemonIdsList){ Pokemon consumePokemon = pokemonManager.getPokemonMap().get(consume); if(consumePokemon==null){ @@ -3154,6 +3172,11 @@ public class HeroLogic{ if(pokemonManager.getPokemonTeamMap().containsValue(consume)){ throw new ErrorCodeException(ErrorCode.ITEM_DECOMPOSE_HERO_TEAM); } + if(consumeBuilder.length()>0){ + consumeBuilder.append("|"); + } + consumeBuilder.append(pokemon.getTmpId()).append("-").append(pokemon.getLevel()); + } int[][] consumeRes = config.getConsumeRes(); boolean itemCost = ItemUtil.itemCost(user, consumeRes, BIReason.SPECIAL_STAR_UP_CONSUME, 1); @@ -3174,6 +3197,15 @@ public class HeroLogic{ } } MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.POKEMON_ADVANCED_RESPONSE_VALUE,null,true); + for(int[] consume:consumeRes){ + if(consumeBuilder.length()>0){ + consumeBuilder.append("|"); + } + consumeBuilder.append(consume[0]).append("#").append(consume[1]); + } + ReportUtil.onReportEvent(user,ReportEventEnum.BEAST_STAR.getType(),pokemon.getTmpId(),oldStar,pokemon.getStar(),consumeBuilder.toString()); + + } /** 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 547753244..86c4631bc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -1585,7 +1585,7 @@ public class ItemUtil { return new int[0]; } - private static void addSpecialMonster(User user,ItemMap itemObj,CommonProto.Drop.Builder dropBuilder,int reason){ + private static void addSpecialMonster(User user,ItemMap itemObj,CommonProto.Drop.Builder dropBuilder,int reason) throws Exception { if(itemObj.getSpecialMonsterMap().isEmpty()){ return; } @@ -1598,6 +1598,7 @@ public class ItemUtil { } dropBuilder.addPokemon(CBean2Proto.getPokemon(pokemon)); SSpiritAnimal animal = STableManager.getConfig(SSpiritAnimal.class).get(entry.getKey()); + ReportUtil.onReportEvent(user,ReportEventEnum.GET_BEAST.getType(),entry.getKey(),animal.getQuality(),reason); if (animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)&&reason!=BIReason.COMPOS_HERO_REWARD) { //策划资质改成星级 String message = SErrorCodeEerverConfig.getI18NMessage("animal_get_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(), animal.getName()}); if (!message.isEmpty()){