World Library  
Flag as Inappropriate
Email this Article

Deception (2008 film)

Article Id: WHEBN0009355314
Reproduction Date:

Title: Deception (2008 film)  
Author: World Heritage Encyclopedia
Language: English
Subject: Ramin Djawadi, Michelle Williams (actress), Film scores by Ramin Djawadi, Deception (disambiguation), Lynn Cohen
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Deception (2008 film)

Deception
Directed by Marcel Langenegger
Produced by Robbie Brenner
David Bushell
Christopher Eberts
Hugh Jackman
John Palermo
Arnold Rifkin
Written by Mark Bomback
Starring Ewan McGregor
Hugh Jackman
Michelle Williams
Music by Ramin Djawadi
Cinematography Dante Spinotti
Edited by Douglas Crise
Christian Wagner
Production
company
Distributed by 20th Century Fox
Release dates
April 25, 2008
Running time
108 minutes
Country United States
Language English
Budget $25 million
Box office $17,741,298

Deception is a 2008 American crime thriller film directed by Marcel Langenegger and written by Mark Bomback. It stars Ewan McGregor, Hugh Jackman, and Michelle Williams. The film was released on April 25, 2008 in the United States.

Contents

  • Plot 1
  • Cast 2
  • Reception 3
    • Critical reception 3.1
    • Box office 3.2
  • References 4
  • External links 5

Plot

Timid accountant Jonathan McQuarry (Ewan McGregor) is an auditor working out of New York. One night while working late in a boardroom he meets a charismatic lawyer, Wyatt Bose (Hugh Jackman), who befriends him over a joint. After a long conversation, Jonathan takes the subway home where he has a brief encounter with a blonde woman (Michelle Williams) while waiting for the train. Upon returning home he notices a pipe in his bedroom is leaking and leaving a stain.

Jonathan contacts Wyatt the next day and they play tennis after work. They meet again for lunch the next day and upon leaving, Wyatt takes Jonathan's mobile phone instead of his own, forcing a trade. He mentions he will be in London on business for the next few weeks. When Jonathan realizes the phones have been switched he attempts to contact Wyatt but does not reach him. He is soon contacted by a woman (Natasha Henstridge) who asks if he is free that night. He informs her that he is and agrees to meet her. When she arrives, they proceed directly to a hotel room upstairs and have sex. In the morning, Jonathan realizes that Wyatt must be on some type of exclusive sex club list.

When Wyatt calls the next day, he encourages Jonathan to stay on the list. Jonathan has an encounter with an older woman (Charlotte Rampling) who explains the list's rules: the initiator pays for the room, no names are exchanged, there is no rough play. Participants are always anonymous, although Jonathan later spots the older woman on the cover of Forbes. Over the next few weeks, he has anonymous encounters with several women.

One night after initiating another encounter, Jonathan is surprised to find that his partner is the blond woman he met while waiting for the train. He tells her that they have met once before, and instead of having sex, they order room service and talk for hours. The woman does not say her name, but Jonathan assumes that it begins with an "S" because of an S-shaped pendant on her handbag. The next day Jonathan rejects other callers from the list but when "S" calls again they agree to meet for dinner in Chinatown. They then proceed to a hotel where she requests some ice. When Jonathan returns to the room she is gone and there is blood on the bedsheets. Someone knocks him out from behind, and when he wakes up again the bed has been made. He contacts the police and explains to the Detective (Lisa Gay Hamilton) that "S" is missing but that he has little to no information about her. She doubts his story, thinking that he is delusional. Jonathan tries to trace Wyatt, but Wyatt's boss and landlady claim not to know him.

Upon returning home Jonathan is surprised to find Wyatt waiting for him and demanding that he steal $20 million from an investment firm he will begin to audit in a few days. Jonathan agrees to do so, fearing for the safety of "S". The following night at work, Jonathan receives a call asking if he is free. The woman calling is named Tina (Maggie Q), an investment banker who once introduced Wyatt to the exclusive sex club list. She reveals that Wyatt's real name is Jamie Getz, and that they met when he was attending a private corporate event as a guest of Rudolph Holloway, an investment banker with whom Getz played tennis. Jonathan finds out through research that Getz murdered Holloway, strangling him with tennis strings, and also served three years in prison for insurance fraud and arson. Jonathan is later notified by the detective that a blond woman matching his earlier description was discovered dead. When he comes in to identify her, he sees that it is actually the first woman who called him, and that she was also strangled by tennis strings.

Jonathan goes on to complete a wire transfer to a bank in Spain in his name, but secretly adds Wyatt's name as co-signer. When he returns home he notices that a picture Wyatt had sent of "S" being held captive was taken in his apartment before the pipe started leaking. He realizes that she must have been a conspirator and wisely avoids his apartment which explodes when the superintendent enters to fix the pipe.

Now in Madrid, Wyatt impersonates Jonathan and attempts to withdraw the funds from the bank, but he is denied access because of the co-signer. Jonathan approaches Wyatt outside the bank and agrees to help him withdraw the funds if Wyatt splits it with him. Swapping identities, Jonathan and Wyatt cash in the $20 million in two $10 million suitcases. (A deleted scene reveals that Jonathan encountered a black market operator in Chinatown, who offered a variety of items, including fake passports; Jonathan presumably obtained a passport with his image in the name of Wyatt Bose and used this in his scheme to obtain half of the money). After the transaction is complete, Jonathan offers Wyatt half of his money if Wyatt tells him where "S" is. Wyatt pretends to agree and lures Jonathan to an uncrowded area where he draws a gun on Jonathan. Before he is able to shoot Jonathan, Wyatt is shot by "S" who leaves quickly. Jonathan pursues her, leaving a dying Wyatt and the money behind. He begs her to talk to him but she'd rather call it off, apologizing to him as she did not know Wyatt's intent to kill Jonathan. "S" gets into a cab and leaves as Jonathan watches her go.

In Madrid, Jonathan again crosses paths with "S" and they exchange smiles. The film ends as Jonathan walks to her and she stands waiting for him.

Cast

Reception

Critical reception

The film received substantially negative reviews from critics. Review aggregator site Rotten Tomatoes reported that 14% of critics gave the film positive reviews, based on 96 reviews – with the consensus that the film is "a middling, predictable potboiler with mediocre dialogue and ludicrous plot twists."[1] Metacritic reported the film had an average score of 31 out of 100, based on 23 reviews.[2]

Box office

In its opening weekend, the film grossed $2.3 million in 2,001 theaters in the United States and Canada, averaging only $1,155 per theater and ranking #10 at the box office.[3] As of September 22, 2009, the film has grossed $4,598,506 in the United States and Canada while grossing $13,114,439 in foreign countries adding to a total of $17,712,945.

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^

External links

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.