World Library  
Flag as Inappropriate
Email this Article

Peter and the Secret of Rundoon

Article Id: WHEBN0009311882
Reproduction Date:

Title: Peter and the Secret of Rundoon  
Author: World Heritage Encyclopedia
Language: English
Subject: Peter and the Sword of Mercy, Peter and the Shadow Thieves, Characters of Peter Pan, Peter Pan, Never Land Books
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Peter and the Secret of Rundoon

Peter and the Secret of Rundoon
Author Dave Barry
Ridley Pearson
Illustrator Greg Call
Country United States
Language English
Publisher Hyperion Books
Publication date
October 2007
Media type Print (Hardback)
Pages 482 pp (hardcover edition)
ISBN
OCLC 104641169
LC Class PZ7.B278 Pde 2007
Preceded by Peter and the Shadow Thieves
Followed by Peter and the Sword of Mercy

Peter and the Secret of Rundoon is a children's novel that was published by Hyperion Books, a subsidiary of Disney, in 2007. Written by Dave Barry and Ridley Pearson, the book is an unauthorized prequel to the original Peter Pan, or the Boy Who Wouldn't Grow Up by J. M. Barrie, and tells the story of an orphan named Peter. It was illustrated by artist Greg Call. It is a sequel to Barry and Pearson's Peter and the Starcatchers and Peter and the Shadow Thieves, best-sellers released in late 2004 and mid-2006. This book was released on October 23, 2007, and was described at the time as the last novel in the series. However, in May 2008 the writers announced a fourth book: Peter and the Sword of Mercy.[1][2]

Plot summary

The story starts at Stonehenge, where Lord Ombra was seemingly destroyed in Peter and the Shadow Thieves. Though weakened, he uses his power to possess others to gather himself together so that he can return to Rundoon.

Meanwhile, warriors of the Scorpion tribe plan to invade Mollusk Island. Warned by Peter, Fighting Prawn prepares for war. Eventually, however, he is forced to surrender to the overwhelming force of the invaders and the Mollusks are enslaved.

Molly and George travel to Oxford, where they discover some vital information about Peter's parents which suggests Peter himself is in danger. And indeed Lord Ombra and his fellow shadow creatures have decided that capturing Peter could help their plans. Lord Aster sails to Mollusk Island to warn and protect Peter, unaware that Molly and George have stowed away aboard his ship.

Peter, wounded by the Scorpions, is kidnapped by Captain Hook along with the Lost Boys, but soon they are all captured by Lord Ombra and taken to Rundoon. There they are imprisoned in the dungeons of King Zarboff III, a cruel and vain despot in cahoots with the shadow beings.

Tinker Bell joins Lord Aster in a rescue mission, but he is captured by Zarboff's men. Tink returns to the ship to warn Molly and George, but finds them trying to steal a camel and being chased by the owners. She tells Molly to use the starstuff in her locket to make the camel fly, and so they escaped and went on to find Peter, Lord Aster, and Bakari on their flying camel.

Zarboff reveals his plan – to shoot rockets into space to make starstuff fall. The first attempt is successful, and he plans another, using the new starstuff to send the rocket even further. He does not know that the shadow beings intend the second rocket to rupture the fabric of the universe and cause it to collapse into nothingness. It falls to Peter to prevent the rocket from reaching its destination.

By chance that load of starstuff falls onto a ship stolen by George and the Lost Boys, causing it to float. The flying ship, expertly handled by Captain Hook, takes the whole party back to Mollusk Island, when Shining Pearl, Fighting Prawn's daughter, has joined forces with the pirates to repel the invaders.

The book ends with the Lost Boys deciding to return to London with Leonardo, while some new boys, former St. Norbert's orphans enslaved by Zarboff, decide to take their place as the new Lost Boys. Molly and Peter share a kiss and then go their separate ways.

Characters in "Peter and the Secret of Rundoon"

Many of the characters from "Peter and the Secret of Rundoon" are characters from the previous novels. However, new characters were added to fit with the book's theme.

  • Peter- Peter, because of exposure to starstuff, will never grow old and has gained the permanent ability to fly. He is believed to be the lost son of Mr. Pan (aka Mr. Starr), a watcher for the Starcatchers. Mr. Pan and his wife mysteriously went missing and Peter was sent to St. Norbert's. The Others are searching for him to help them predict the Fall, for the Reversal. Peter is accompanied in his adventures by his guardian, Tinker Bell: a small fairy/"birdwoman", who is very protective of Peter. Peter has an obvious affection for Molly Aster, which bothers Tinker Bell quite a bit.
  • Tinker Bell- Tinker Bell is a fairy who was created from a bird when Lord Aster put her in a bag of starstuff. She serves as the guardian of Peter. In this book, she describes herself as a "bird-girl". She hates being called a "fairy" and prefers people to call her a birdwoman". She is very protective of Peter, and supremely dislikes Peter paying attention to any other girl. She calls Molly Aster a "fat cow". She is rude and pessimistic, but only Peter and Lord Aster can understand her tinkling language, and they often misrepresent what she says to spare the feelings of their friends. She is able to emit a very bright light, which helps Peter many times against Lord Ombra; this technique often ends in her exhaustion and sometimes fainting.
  • Peter and Wendy, Wendy's mother is named Mary Darling, and Molly is a traditional nickname for Mary.
  • Lost Boys- The Lost Boys- James, Thomas, Prentiss, and Tubby Ted -were originally orphans from "St. Norbert's Home for Wayward Boys". James is their leader when Peter is not around. The Lost Boys and Peter are captured by Lord Ombra in this book and taken to Rundoon. At the end of this book, they choose to go back to England because they are growing up and missing civilization. Slightly, Curly, Tootles, Nibs and the Twins become the new Lost Boys.
  • Captain Hook- Captain Hook, formerly Black Stache, is a disgusting, filthy pirate, captain of the ship known as the "Jolly Roger". As his left hand was cut off by Peter, he replaced it with a hook-shaped dagger, earning his nickname. Annoyed by Peter's constant teasing, Hook kidnaps the Lost Boys, only to be captured by Lord Ombra's squids. He helps the Starcatchers against Zarboff's soldiers and steers the flying ship back to the island, but only for his own benefit.
  • Lord Ombra- Lord Ombra is the returning villain in this novel. He moves like liquid and causes a chill to come over anyone he nears, because he is able to steal their shadow or possess them to read their thoughts. Ombra is afraid of the light, but it aids him in capturing shadows. He is one of a group of alien shadow beings who are enemies of life and manipulate the human "Others" for their own ends. In Peter and the Shadow Thieves, Lord Ombra was apparently destroyed by a brilliant flash of light that broke him into millions of tiny shadows. However, it is found out in this book that he was not destroyed, but weakened, and is becoming stronger. The name Ombra is derived from the French word for "shadow". He is further weakened on the rocket used by "Others" to gather raw starstuff from space. He is never killed in any of the books.
  • Captain Nerezza- Nerezza is captain of the ship Le Fantome, and he is one of the "Others" who wants starstuff for selfish motives. Nerezza takes Lord Ombra from England to the land of Rundoon.
  • Smee- Captain Hook's rather thick-headed first mate. He is made captain after Hook goes missing. He admits that he makes a poor pirate, as he does not like to hurt anyone.
  • King Zarboff III- The evil King of the Temple, who wants to fly. He eventually gets swallowed by his pet snake, Kundalini.
  • Kundalini- King Zarboff III's pet snake who eats men. He eventually swallows his master.
  • Mr. Glotz- A scientist who works for Zarboff. He builds rockets to shoot down the stars so that King Zarboff III can collect starstuff. It is unknown as to what happened to him after the novel.
  • Franklin- A monkey from the temple that was trained to pilot the rocket. He befriends Tinker Bell in the novel.
  • The Mollusk Tribe- The residents of Mollusk Island. They are attacked by the Scorpion Tribe and are forced to surrender their island to them. They are enslaved and forced to serve the Scorpions. The warriors, along with most of Hook's pirates, are forced to work in a cave, cracking lava stones which may contain diamonds.
  • Shining Pearl- The daughter of Fighting Prawn, leader of the Mollusk Tribe. She escapes from the Scorpions and enlists the aid of Smee and other pirates who missed the attack.
  • The Scorpion Tribe- A very deadly tribe of the seas. Men are initiated as warriors of the tribe only if they can keep a poisonous jellyfish on their back for a minute without moving or crying out. Each member has the scar of the jellyfish on his back. They add poison to their arrowheads to incapacitate their prey. A massive Scorpion war-party invades Mollusk Island. The leader of the Scorpions eventually gets swallowed by Mister Grin.
  • Mister Grin- An enormous crocodile that lives on Mollusk Island and craves human flesh, especially Captain Hook's. He accidentally swallows a clock and swallows the leader of the Scorpions toward the end of the novel.
  • Slightly, Curly, Tootles, Nibs and the Twins/New Lost Boys- The St. Norbert's boys that Peter knew while he was still an orphan, who were sent to Rundoon as slaves. He is reunited with them all in Rundoon. Slightly has been there so long, he speaks Rundoon's language. After James, Thomas, Prentiss, and Tubby Ted leave for England, they become the new Lost Boys. These boys are the Lost Boys of the original play.

Differences from the works of Barry

See Peter and the Starcatchers#Differences from the works of Barrie

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. ^ Pearson's web site
  2. ^ Barry's web site