public void RemoveDrop(Drop Drop, RewardLeaveType Type = RewardLeaveType.Normal, int Option = 0) { if (Drops.Remove(Drop.DropID)) { DropPacket.SendMakeLeaveFieldPacket(Drop, Type, Option); } }
public void Clear(RewardLeaveType rlt = RewardLeaveType.Normal) { foreach (Drop Drop in new List <Drop>(Drops.Values)) { RemoveDrop(Drop, rlt); } }
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); }