private static PacketWriter ResponsePacket(MapleCharacter chr1, MapleCharacter chr2) { PacketWriter pw = new PacketWriter(SendHeader.WeeklyMapleStar); pw.WriteByte(0x7); //pw.WriteShort(0); pw.WriteBool(chr1 != null); if (chr1 != null) { pw.WriteInt(chr1.Id); pw.WriteInt(1); //Heart amount pw.WriteInt(0); //10 0D 4A F5 pw.WriteInt(0); //50 3A D0 01 pw.WriteMapleString(chr1.Name); MapleCharacter.AddCharLook(pw, chr1, false); } pw.WriteBool(chr2 != null); if (chr2 != null) { pw.WriteInt(chr2.Id); pw.WriteInt(1); //Heart amount pw.WriteInt(0); //10 0D 4A F5 pw.WriteInt(0); //50 3A D0 01 pw.WriteMapleString(chr2.Name); MapleCharacter.AddCharLook(pw, chr2, false); } return(pw); }
public PacketWriter GenerateTradePartnerAdd(MapleCharacter c, byte position) { PacketWriter pw = new PacketWriter(); pw.WriteHeader(SendHeader.Trade); pw.WriteByte(0x13); pw.WriteByte(position); MapleCharacter.AddCharLook(pw, c, false); pw.WriteMapleString(c.Name); pw.WriteShort(c.Job); return pw; }
public static PacketWriter AddPlayer(MapleMessengerCharacter mcc) { MapleCharacter player = mcc.Character; PacketWriter pw = new PacketWriter(SendHeader.Messenger); pw.WriteByte(0); pw.WriteByte((byte)mcc.Position); MapleCharacter.AddCharLook(pw, player, false); pw.WriteMapleString(player.Name); pw.WriteByte(player.Client.Channel); pw.WriteByte(1); pw.WriteShort(player.Job); pw.WriteShort(player.SubJob); return(pw); }
public PacketWriter GetSpawnPacket(bool spawnAnimated) { PacketWriter pw = new PacketWriter(); pw.WriteHeader(SendHeader.SpawnSummon); pw.WriteInt(Owner.Id); pw.WriteInt(ObjectId); pw.WriteInt(SourceSkillId); pw.WriteByte(Owner.Level); pw.WriteByte(SkillLevel); pw.WritePoint(Position); if (SourceSkillId == BattleMage3.SUMMON_REAPER_BUFF || SourceSkillId == WildHunter2.CALL_OF_THE_WILD) { pw.WriteByte(5); } else { pw.WriteByte(4); } pw.WriteShort(0); //foothold pw.WriteByte((byte)MovementType); pw.WriteByte((byte)Type); pw.WriteBool(spawnAnimated); //true = new spawn, false = no spawn animation pw.WriteByte(1); if (SourceSkillId == DualBlade4.MIRRORED_TARGET) { pw.WriteByte(1); MapleCharacter.AddCharLook(pw, Owner, true); } else { pw.WriteByte(0); } if (SourceSkillId == Mechanic3.ROCK_N_SHOCK) { pw.WriteByte(0); } if (SourceSkillId == Kanna3.KISHIN_SHOUKAN) { pw.WriteZeroBytes(8); } return(pw); }
public PacketWriter GenerateTradeStart(MapleCharacter c, bool includeOwner) { PacketWriter pw = new PacketWriter(); pw.WriteHeader(SendHeader.Trade); pw.WriteByte(0x14); pw.WriteByte(4); pw.WriteByte(2); pw.WriteBool(includeOwner); if (includeOwner) { pw.WriteByte(0); MapleCharacter.AddCharLook(pw, Owner, false); pw.WriteMapleString(Owner.Name); pw.WriteShort(Owner.Job); } pw.WriteBool(includeOwner); MapleCharacter.AddCharLook(pw, c, false); pw.WriteMapleString(c.Name); pw.WriteShort(c.Job); pw.WriteByte(0xFF); return pw; }