From eb7a4c0484c54eac24b6de81342f2b6a1944c19b Mon Sep 17 00:00:00 2001 From: Ziggy Date: Sun, 26 Mar 2023 13:00:19 +0200 Subject: [PATCH] Added MissionAbort packet --- .../zone/object_controller/MissionAbort.kt | 56 +++++++++++++++++++ .../object_controller/ObjectController.java | 3 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/MissionAbort.kt diff --git a/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/MissionAbort.kt b/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/MissionAbort.kt new file mode 100644 index 0000000..5dadef9 --- /dev/null +++ b/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/MissionAbort.kt @@ -0,0 +1,56 @@ +/*********************************************************************************** + * Copyright (c) 2023 /// Project SWG /// www.projectswg.com * + * * + * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on * + * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. * + * Our goal is to create an emulator which will provide a server for players to * + * continue playing a game similar to the one they used to play. We are basing * + * it on the final publish of the game prior to end-game events. * + * * + * This file is part of PSWGCommon. * + * * + * --------------------------------------------------------------------------------* + * * + * PSWGCommon is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * PSWGCommon is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with PSWGCommon. If not, see . * + ***********************************************************************************/ +package com.projectswg.common.network.packets.swg.zone.object_controller + +import com.projectswg.common.network.NetBuffer + +class MissionAbort : ObjectController { + + var missionObjectId = 0L + + constructor(receiverId: Long) : super(receiverId, CRC) + + constructor(data: NetBuffer) : super(CRC) { + decode(data) + } + + companion object { + const val CRC = 0x0142 + } + + override fun decode(data: NetBuffer) { + decodeHeader(data) + missionObjectId = data.long + } + + override fun encode(): NetBuffer { + val data = NetBuffer.allocate(HEADER_LENGTH + 8) + encodeHeader(data) + data.addLong(missionObjectId) + return data + } +} \ No newline at end of file diff --git a/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/ObjectController.java b/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/ObjectController.java index 110616a..b2ac4f0 100644 --- a/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/ObjectController.java +++ b/src/main/java/com/projectswg/common/network/packets/swg/zone/object_controller/ObjectController.java @@ -1,5 +1,5 @@ /*********************************************************************************** - * Copyright (c) 2018 /// Project SWG /// www.projectswg.com * + * Copyright (c) 2023 /// Project SWG /// www.projectswg.com * * * * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on * * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. * @@ -144,6 +144,7 @@ public abstract class ObjectController extends SWGPacket { case 0x04C5: return new IntendedTarget(data); case 0x00F5: return new MissionListRequest(data); case 0x00F9: return new MissionAcceptRequest(data); + case MissionAbort.CRC: return new MissionAbort(data); case MissionAcceptResponse.CRC: return new MissionAcceptResponse(data); case 0x041C: return new JTLTerminalSharedMessage(data); case 0x0115: return new SecureTrade(data);