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);
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
            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);
            }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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;
 }