From 19e70ddf87232dff267093c9ab30a8198051d730 Mon Sep 17 00:00:00 2001 From: Moozi <14936017+RajanGrewal@users.noreply.github.com> Date: Mon, 26 Aug 2019 15:45:55 -0400 Subject: [PATCH] Added Special Field Packets (#515) I did this on the web browser not an IDE so excuse any mistakes >.< --- src/tools/MaplePacketCreator.java | 72 ++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/src/tools/MaplePacketCreator.java b/src/tools/MaplePacketCreator.java index 8eebeaeea4..33adc01c24 100644 --- a/src/tools/MaplePacketCreator.java +++ b/src/tools/MaplePacketCreator.java @@ -8288,4 +8288,74 @@ public class MaplePacketCreator { return mplew.getPacket(); } -} \ No newline at end of file + private static byte[] MassacreResult(byte nRank,int nIncExp) { + //CField_MassacreResult__OnMassacreResult @ 0x005617C5 + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.PYRAMID_SCORE.getValue()); //MASSACRERESULT | 0x009E + mplew.write(nRank); //(0 - S) (1 - A) (2 - B) (3 - C) (4 - D) ( Else - Crash ) + mplew.writeInt(nIncExp); + return mplew.getPacket(); + } + + private static byte[] GuildBoss_HealerMove(short nY) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.GUILD_BOSS_HEALER_MOVE.getValue()); + mplew.writeShort(nY); //New Y Position + return mplew.getPacket(); + } + + + private static byte[] GuildBoss_PulleyStateChange(byte nState) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.GUILD_BOSS_PULLEY_STATE_CHANGE.getValue()); + mplew.write(nState); + return mplew.getPacket(); + } + + private static byte[] Tournament__Tournament(byte nState, byte nSubState) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.TOURNAMENT.getValue()); + mplew.write(nState); + mplew.write(nSubState); + return mplew.getPacket(); + } + + private static byte[] Tournament__MatchTable(byte nState, byte nSubState) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.TOURNAMENT_MATCH_TABLE.getValue()); //Prompts CMatchTableDlg Modal + return mplew.getPacket(); + } + + private static byte[] Tournament__SetPrize(byte bSetPrize, byte bHasPrize,int nItemID1,int nItemID2) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.TOURNAMENT_SET_PRIZE.getValue()); + + //0 = "You have failed the set the prize. Please check the item number again." + //1 = "You have successfully set the prize." + mplew.write(bSetPrize); + + mplew.write(bHasPrize); + + if(bHasPrize != 0) + { + mplew.writeInt(nItemID1); + mplew.writeInt(nItemID2); + } + + return mplew.getPacket(); + } + + private static byte[] Tournament__UEW(byte nState) { + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + mplew.writeShort(SendOpcode.TOURNAMENT_UEW.getValue()); + + //Is this a bitflag o.o ? + //2 = "You have reached the finals by default." + //4 = "You have reached the semifinals by default." + //8 or 16 = "You have reached the round of %n by default." | Encodes nState as %n ?! + mplew.write(nState); + + return mplew.getPacket(); + } + +}