Beispiel #1
0
 public void RemoveDrop(Drop Drop, RewardLeaveType Type = RewardLeaveType.Normal, int Option = 0)
 {
     if (Drops.Remove(Drop.DropID))
     {
         DropPacket.SendMakeLeaveFieldPacket(Drop, Type, Option);
     }
 }
Beispiel #2
0
 public void Clear(RewardLeaveType rlt = RewardLeaveType.Normal)
 {
     foreach (Drop Drop in new List <Drop>(Drops.Values))
     {
         RemoveDrop(Drop, rlt);
     }
 }
Beispiel #3
0
        public static void SendMakeLeaveFieldPacket(Drop Drop, RewardLeaveType LeaveType, int Option = 0)
        {
            Packet pw = new Packet(ServerMessages.DROP_LEAVE_FIELD);

            pw.WriteByte((byte)LeaveType);
            pw.WriteInt(Drop.DropID);

            if (LeaveType == RewardLeaveType.FreeForAll ||
                LeaveType == RewardLeaveType.Remove ||
                LeaveType == RewardLeaveType.PetPickup)
            {
                pw.WriteInt(Option);
            }
            else if (LeaveType == RewardLeaveType.Explode)
            {
                pw.WriteShort((short)Option);
            }

            Drop.Field.SendPacket(Drop, pw);
        }