diff --git a/conf/server/MapEventsItemConfig.txt b/conf/server/MapEventsItemConfig.txt index 31e046a6c..ad5a81cc0 100644 --- a/conf/server/MapEventsItemConfig.txt +++ b/conf/server/MapEventsItemConfig.txt @@ -22,12 +22,12 @@ int int int mut,int#int,2 mut,int#int,2 mut,int#int,2 20 101007 13 3#2#0 10100713 1#14 21 101007 14 3#2#0 10100714 1#15 22 101007 15 1#10101 10100715 1#16 -23 101007 16 null 10100716 1#17 +23 101007 16 null 10100716 0#17 24 101007 17 3#2#0 10100717 1#18 25 101007 18 3#2#0 10100718 1#19 -26 101007 19 null 10100719 1#20 +26 101007 19 null 10100719 0#20 27 101007 20 3#2#0 10100720 1#21 -28 101007 21 null 10100721 1#22 +28 101007 21 null 10100721 0#22 29 101007 22 3#2#0 10100722 null 30 101008 0 3#2#0|6#100 10100800 1#1 31 101008 1 3#2#0|6#100 10100801 1#2 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 9588ed377..3afbfd6f9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -194,58 +194,62 @@ public class MapLogic { return; } int[][] contents = scMapEventsItemConfig.getContents(); - if (choice < 0 || contents.length < choice) { - LOGGER.info("no this choice =>{} scMapEventsItemConfig.getContents()=>{}", choice, scMapEventsItemConfig.getContents()); - MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); - return; - } - int[] eventArr = contents[choice - 1]; boolean isSuccess = false; - switch (eventArr[0]) { - case EventType.fight: { - fightStart(uid, bigEventId); - isSuccess = true; - break; - } - case EventType.attribute: { - Map heroHps = mapManager.getHeroHps(); - for (Map.Entry entry : heroHps.entrySet()) { - if (entry.getValue() == 0) { - continue; - } - Hero hero = user.getHeroManager().getHero(entry.getKey()); -// eventArr[1] - } - isSuccess = true; - break; - } - case EventType.eatBuff: - case EventType.useItem: - case EventType.scout: { - Map useItems = new HashMap<>(); - useItems.put(eventArr[1], eventArr[2]); - ItemUtil.useItem(user, useItems); - isSuccess = true; - break; - } - case EventType.leave: { - int randomInt = MathUtils.randomInt(100) + 1; - if (randomInt <= eventArr[1]) { - isSuccess = true; - } - break; - } - case EventType.dialogue: { - - break; - } - case EventType.jump: { - - break; - } - default: { + if (contents.length > 0) { + if (choice < 0 || contents.length < choice) { + LOGGER.info("no this choice =>{} scMapEventsItemConfig.getContents()=>{}", choice, scMapEventsItemConfig.getContents()); + MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); return; } + int[] eventArr = contents[choice - 1]; + switch (eventArr[0]) { + case EventType.fight: { + fightStart(uid, bigEventId); + isSuccess = true; + break; + } + case EventType.attribute: { + Map heroHps = mapManager.getHeroHps(); + for (Map.Entry entry : heroHps.entrySet()) { + if (entry.getValue() == 0) { + continue; + } + Hero hero = user.getHeroManager().getHero(entry.getKey()); +// eventArr[1] + } + isSuccess = true; + break; + } + case EventType.eatBuff: + case EventType.useItem: + case EventType.scout: { + Map useItems = new HashMap<>(); + useItems.put(eventArr[1], eventArr[2]); + ItemUtil.useItem(user, useItems); + isSuccess = true; + break; + } + case EventType.leave: { + int randomInt = MathUtils.randomInt(100) + 1; + if (randomInt <= eventArr[1]) { + isSuccess = true; + } + break; + } + case EventType.dialogue: { + + break; + } + case EventType.jump: { + + break; + } + default: { + return; + } + } + } else { + isSuccess = true; } MapInfoProto.MapUpdateEventResponse.Builder mapUpdateEventResponse = MapInfoProto.MapUpdateEventResponse.newBuilder(); if (!isSuccess) {