/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package tools.packet; import client.MapleCharacter; import handling.SendPacketOpcode; import server.maps.MapleMap; import tools.data.MaplePacketLittleEndianWriter; /** * * @author LEL */ public class EvolvingPacket { public static byte[] showEvolvingMessage(int action) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); //24 00 1B 01 00 mplew.writeShort(SendPacketOpcode.SHOW_STATUS_INFO.getValue()); mplew.writeShort(284); mplew.write(action); return mplew.getPacket(); } public static byte[] partyCoreInfo(int[] core) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); //AF 00 /00 /48 EF 36 00 /D3 FB 36 00 /00 00 00 00 /00 00 00 00/ 00 00 00 00/ 00 00 00 00 /00 00 00 00 /32 F3 36 00 /00 00 00 00 /00 00 00 00 mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.write(0); for (int i = 0; i < 10; i++) { mplew.writeInt(core[i]); } return mplew.getPacket(); } public static byte[] showPartyConnect(MapleCharacter chr) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.write(1); mplew.write(1); mplew.write(chr.getParty().getLeader().getId() == chr.getId() ? 1 : 0); return mplew.getPacket(); } public static byte[] connectCancel() { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.writeShort(1); return mplew.getPacket(); } public static byte[] rewardCore(int itemid, int position) { //AF 00 02 01 00 00 00 00 00 D0 F2 36 00 01 00 00 00 MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.write(2); //슬롯? mplew.write(1); mplew.writeInt(0); mplew.write(position); mplew.writeInt(itemid); mplew.writeInt(1); return mplew.getPacket(); } public static byte[] showRewardCore(int itemid) { //24 00 1D 16 D0 F2 36 00 01 00 00 00 MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.SHOW_STATUS_INFO.getValue()); mplew.writeShort(5662); mplew.writeInt(itemid); mplew.writeInt(1); return mplew.getPacket(); } public static byte[] moveCore(byte equip, byte slot, byte move, byte to) { //AF 00 03 00 01 02 01 03 //AF 00 03 00 01 03 01 04 MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.write(3); mplew.write(0); mplew.write(equip);//무브, 장착해제 : 1, 장착 : 0 mplew.write(slot); mplew.write(move);//장착, 무브 : 1, 장착해제 : 0 mplew.write(to); return mplew.getPacket(); } public static byte[] dropCore(byte position, short quantity) { //AF 00 04 01 /00 /01 00 /00 00 MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.EVOLVING_ACTION.getValue());// mplew.write(4); mplew.write(1); mplew.write(position); mplew.writeShort(quantity);//1 mplew.writeShort(0); return mplew.getPacket(); } public static byte[] EvolvingWarpToMap(MapleMap to, int spawnPoint, MapleCharacter chr) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.WARP_TO_MAP.getValue()); EvolvingWarpToMapInfo(mplew, chr, to, spawnPoint); mplew.writeInt(100); mplew.write(1); mplew.writeInt(0); mplew.writeMapleAsciiString("bgm"); mplew.writeInt(0); mplew.writeShort(0); return mplew.getPacket(); } public static void EvolvingWarpToMapInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter player, MapleMap map, int sp) { mplew.writeLong(player.getClient().getChannel()); mplew.write(0); mplew.write(2); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(map.getId()); //957010001 mplew.write(sp); mplew.writeInt(player.getStat().getHp()); mplew.writeShort(0); mplew.writeLong(PacketHelper.getTime(System.currentTimeMillis())); } public static byte[] spawnEvolvingMonster() { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); return mplew.getPacket(); } }