From 0948a68c3b76fc4595815db0aa454b06d4dceef6 Mon Sep 17 00:00:00 2001 From: Treeku Date: Wed, 19 Mar 2014 22:07:29 +0000 Subject: [PATCH] Enabled heroic dungeons, fixed radials getOptionType() seems to work now --- src/main/NGECore.java | 4 +- .../ObjectMenuResponse.java | 37 +++++++------------ src/services/trade/TradeService.java | 2 +- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 1483e4f7..6a351892 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -328,10 +328,10 @@ public class NGECore { terrainService.addPlanet(14, "kashyyyk_hunting", "terrain/kashyyyk_hunting.trn", true); terrainService.addPlanet(15, "kashyyyk_north_dungeons", "terrain/kashyyyk_north_dungeons.trn", true); terrainService.addPlanet(16, "kashyyyk_rryatt_trail", "terrain/kashyyyk_rryatt_trail.trn", true); - terrainService.addPlanet(17, "kashyyyk_south_dungeons", "terrain/kashyyyk_south_dungeons.trn", true); + terrainService.addPlanet(17, "kashyyyk_south_dungeons", "terrain/kashyyyk_south_dungeons.trn", true);*/ terrainService.addPlanet(18, "adventure1", "terrain/adventure1.trn", true); terrainService.addPlanet(19, "adventure2", "terrain/adventure2.trn", true); - terrainService.addPlanet(20, "dungeon1", "terrain/dungeon1.trn", true);*/ + terrainService.addPlanet(20, "dungeon1", "terrain/dungeon1.trn", true); //Space Zones // NOTE: Commented out for now until space is implemented. No need to be loaded into memory when space is not implemented. /*terrainService.addPlanet(21, "space_corellia", "terrain/space_corellia.trn", true); diff --git a/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java b/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java index 1d1ae2c5..f7533788 100644 --- a/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java +++ b/src/protocol/swg/objectControllerObjects/ObjectMenuResponse.java @@ -59,41 +59,30 @@ public class ObjectMenuResponse extends ObjControllerObject { @Override public IoBuffer serialize() { + int size = 37; + byte counter = 0; - IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); - result.setAutoExpand(true); + for (RadialOptions radialOption : radialOptions) { + size += 5 + getUnicodeString(radialOption.getDescription()).length; + } + IoBuffer result = IoBuffer.allocate(size).order(ByteOrder.LITTLE_ENDIAN); result.putInt(ObjControllerMessage.OBJECT_MENU_RESPONSE); result.putLong(ownerId); result.putInt(0); result.putLong(targetId); result.putLong(ownerId); - - int size = radialOptions.size(); - result.putInt(size); - - if(size > 0) { - byte counter = 0; - for(RadialOptions radialOption : radialOptions) { - result.put(++counter); - result.put(radialOption.getParentId()); - result.putShort(radialOption.getOptionId()); - //result.put(radialOption.getOptionType()); - result.put((byte) 3); - - if(radialOption.getDescription().length() > 0) - result.put(getUnicodeString(radialOption.getDescription())); - else - result.putInt(0); - - } + result.putInt(radialOptions.size()); + for (RadialOptions radialOption : radialOptions) { + result.put(++counter); + result.put(radialOption.getParentId()); + result.putShort(radialOption.getOptionId()); + result.put(radialOption.getOptionType()); //result.put((byte) 3); + result.put(getUnicodeString(radialOption.getDescription())); } result.put(radialCount); - int packetSize = result.position(); - result = IoBuffer.allocate(packetSize).put(result.array(), 0, packetSize); return result.flip(); - } } diff --git a/src/services/trade/TradeService.java b/src/services/trade/TradeService.java index 3490c69a..cde8292e 100644 --- a/src/services/trade/TradeService.java +++ b/src/services/trade/TradeService.java @@ -202,7 +202,7 @@ public class TradeService implements INetworkDispatch{ } else { - if(objectToTrade.getAttributes()/*.toString()*/.containsKey("no_trade")) { + if(objectToTrade.getAttributes().containsKey("no_trade")) { return; }