diff --git a/src/resources/objects/mission/MissionMessageBuilder.java b/src/resources/objects/mission/MissionMessageBuilder.java index ad024381..ff874ee2 100644 --- a/src/resources/objects/mission/MissionMessageBuilder.java +++ b/src/resources/objects/mission/MissionMessageBuilder.java @@ -143,9 +143,12 @@ public class MissionMessageBuilder extends ObjectMessageBuilder { public IoBuffer buildBaseline6() { - IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN); + IoBuffer buffer = IoBuffer.allocate(18, false).order(ByteOrder.LITTLE_ENDIAN); - buffer.putInt(121); // server id + buffer.putShort((short) 3); + buffer.putInt(76); // server id + buffer.putLong(0); // detail stf + buffer.putInt(0xFFFFFFFF); // unknown int size = buffer.position(); buffer.flip(); @@ -154,6 +157,30 @@ public class MissionMessageBuilder extends ObjectMessageBuilder { return buffer; } + public IoBuffer buildBaseline8() { + IoBuffer buffer = IoBuffer.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN); + + buffer.putShort((short) 0); // unknown + + int size = buffer.position(); + buffer.flip(); + buffer = createBaseline("MISO", (byte) 8, buffer, size); + + return buffer; + } + + public IoBuffer buildBaseline9() { + IoBuffer buffer = IoBuffer.allocate(2, false).order(ByteOrder.LITTLE_ENDIAN); + + buffer.putShort((short) 0); // unknown + + int size = buffer.position(); + buffer.flip(); + buffer = createBaseline("MISO", (byte) 9, buffer, size); + + return buffer; + } + public IoBuffer buildStfDelta(String stfFile, String stfName) { IoBuffer buffer = IoBuffer.allocate(4 + stfFile.length() + stfName.length(), false).order(ByteOrder.LITTLE_ENDIAN); diff --git a/src/resources/objects/mission/MissionObject.java b/src/resources/objects/mission/MissionObject.java index 0576b7be..5855d4b3 100644 --- a/src/resources/objects/mission/MissionObject.java +++ b/src/resources/objects/mission/MissionObject.java @@ -302,6 +302,8 @@ public class MissionObject extends IntangibleObject implements IPersistent { destination.getSession().write(messageBuilder.buildBaseline3()); destination.getSession().write(messageBuilder.buildBaseline6()); + destination.getSession().write(messageBuilder.buildBaseline8()); + destination.getSession().write(messageBuilder.buildBaseline9()); } } diff --git a/src/services/MissionService.java b/src/services/MissionService.java index ca915841..c7135da7 100644 --- a/src/services/MissionService.java +++ b/src/services/MissionService.java @@ -110,8 +110,9 @@ public class MissionService implements INetworkDispatch { final int bagSize = core.objectService.objsInContainer(creature, missionBag); Console.println("Delivery Entries: " + deliveryEntries); - if (bagSize != 12) { - for(int missionsAdded = 0; missionsAdded < 12; missionsAdded++) { + if (bagSize != 10) { + for(int missionsAdded = 0; missionsAdded < 10; missionsAdded++) { + // object/mission/shared_mission_object.iff MissionObject mission = (MissionObject) core.objectService.createObject("object/mission/shared_mission_object.iff", creature.getPlanet()); @@ -197,7 +198,7 @@ public class MissionService implements INetworkDispatch { } public void createDefaultMissions(CreatureObject player) { - for(int missionsAdded = 0; missionsAdded < 12; missionsAdded++) { + for(int missionsAdded = 0; missionsAdded < 10; missionsAdded++) { MissionObject mission = (MissionObject) core.objectService.createObject("object/mission/shared_mission_object.iff", player.getPlanet());