Inform 7 Home Page / Documentation
§11.4. Scoring
Not every work of IF allots a numerical score to the player: for some authors, this emphasises the idea of a story rather than a narrative. The simple sentence
introduces the concept. Once this is included, Inform will provide built-in support for a single number measuring progress ("score"), and will expect to measure this against a maximum possible ("maximum score", which can either be set by hand or worked out automatically from a table of ranks).
In a story in which scoring exists, the player may choose to turn score notifications (such as "[Your score has just gone up by one point.]") on or off. The commands to do this are NOTIFY ON and NOTIFY OFF; the actions are called switching score notification on and switching score notification off. In the event that we need to amend the behavior of notification, we could do so by adding, removing, or modifying the elements of the check and carry out rulebooks for these commands; as in
Check switching score notification off:
if the turn count is less than 10:
say "You are still a novice, grasshopper. Allow your teacher to give you advice until such time as you are ready to go on alone."
If we wish to change the wording of the default message ("[Your score has..."), we may want to use the Responses system.
An especially insidious style of bug allows the player to type the same sequence of commands over and over, earning score endlessly for the same insight, and to avoid this it is usually safest to write source like:
After taking the Picasso miniature when the Picasso miniature is not handled:
increase the score by 10;
say "As they say in Montmartre: dude!"
We might also write our condition with "for the first time", like so:
After jumping for the first time:
increase the score by 5;
say "Boing! That was certainly entertaining."
But we should be careful not to use "for the first time" in scoring situations where it's possible for the player to try the action but fail. Inform counts even unsuccessful attempts towards the number of times an action is understood to have occurred, so if the player tries to jump and fails, his "for the first time" will be used up and he will never receive the score points.
If there are many "treasure" items like the Picasso miniature, it is best to be systematic, as in No Place Like Home. Bosch takes another approach to the same idea, by creating a table of point-earning actions that the player will be rewarded for doing; the FULL SCORE command will then play these back.
Mutt's Adventure demonstrates how we might add a scored room feature, such that the player earns a point when he first arrives at a special room.
A single number does not really sum up a life, or even an afternoon, and Goat-Cheese and Sage Chicken and Panache offer more detailed citations. Works that are more story than story may prefer to offer a plot summary of the player's experience to date in lieu of more conventional scoring.
Finally, Rubies provides a scoreboard that keeps track of the ten highest-scoring players from one playthrough to the next.
Start of Chapter 11: Out Of World Actions and Effects | |
Back to §11.3. Helping and Hinting | |
Onward to §11.5. Settings and Status Checks During Play |
ExampleBosch |
We could, if we wanted, make a table of stored actions all of which represent things that will earn points for the player. For instance:
The Garden of Excess is a room. The gilded lily is an edible thing in the Garden of Excess.
The Pathway to Desire is west of the Garden of Excess. The emerald leaf is in the Pathway.
relevant action |
point value |
turn stamp |
taking the emerald leaf |
15 |
-1 |
eating the gilded lily |
5 |
-1 |
(And our list would presumably continue from there, in the full game.)
After doing something:
repeat through Table of Valuable Actions:
if the current action is the relevant action entry and turn stamp entry is less than 0:
now the turn stamp entry is the turn count;
increase the score by the point value entry;
continue the action.
Understand "full score" or "full" as requesting the complete score. Requesting the complete score is an action out of world.
Check requesting the complete score:
if the score is 0, say "You have not yet achieved anything of note." instead.
Carry out requesting the complete score:
say "So far you have received points for the following: [line break]";
sort the Table of Valuable Actions in turn stamp order;
repeat through the Table of Valuable Actions:
if the turn stamp entry is greater than 0:
say "[line break] [relevant action entry]: [point value entry] points";
say line break.
This system is tidy, but limited: we cannot give actions interesting names in the score list, like "seducing the pirate's daughter" or "collecting a valuable artifact". So it will not be ideal in all situations, but it has the virtue of being easy to extend, and of listing all of the player's successes in the order in which they occurred in his play-through.
ExampleMutt's Adventure |
Suppose we want to reward the player the first time he reaches a given room. The "unvisited" attribute is useful for this: unlike such constructions as "going to a room for the first time", it doesn't develop false positives when the player has merely tried to go to the room in question. "Every turn when the player is in a room for the first time" is also unhelpful, because it continues to be true as long as the player is in a room on his first visit there.
Carry out going to a unvisited scored room:
increment the score.
The Incan Palace Compound is a room. "After numerous false leads through the jungles of Peru, and an arduous trek along the Amazon, you have arrived, at last, here: at Atagon, the lost city of untold treasure."
The startlingly intricate door is a door. It is inside from Incan Palace Compound and outside from the Treasure Room. "A door carved all over with figures of ancient gods, and protected by an assortment of gears and latches, [if open]stands open[otherwise]blocks progress[end if] towards [the other side of the intricate door]."
The description of the Treasure Room is "To your considerable surprise, the treasure room is stocked with art objects from a vast range of eras and geographical locations: beside the expected pre-Columbian gold there are Cycladic figurines, Chinese Tang-dynasty pottery, purses that might have been stolen from Sutton Hoo. [one of]If the British Museum developed a nasty expectorant cough, this is what you'd find in its hanky.[or][stopping]".
ExampleNo Place Like Home |
Suppose we want to assign scores for a whole range of objects the player might pick up. One systematic way to do this would be with a table of point values for things:
The Hall of the Gnome King is a room. The emerald cow is a thing in the Hall of the Gnome King. The ivory chessman is a thing in the Hall of the Gnome King. The book of incantations is a thing in the Hall of the Gnome King.
item |
score |
cow |
10 |
incantations |
4 |
chessman |
1 |
Report taking an item listed in the Table of Point Values:
increase the score by the score entry;
blank out the whole row.
"Blank out the whole row" removes the line from the table, so that each award will occur only once. The player will not be able to earn more and more points by dropping and taking the same item again.
ExamplePanache |
If we have a plot that branches and has multiple kinds of outcome, we might well want to assemble these into a plot summary in place of the more traditional score. One way to approach this is to build the scene information into a table, adding information when each scene ends.
We begin with a bit of setup:
The player is in a room called Beneath Roxane's Balcony. Christian is a man in the Balcony. "Christian stands in a spot of moonlight and tries to avoid too obviously glancing at the shadows that conceal you." The description of Christian is "Like you, Christian loves Roxane. Unlike you, he is handsome enough to receive her favor in return. He is the beauty to your brain."
Roxane is a woman in the Balcony. "Above you in the night is Roxane." Roxane can be wooed, skeptical, confused, or annoyed. Roxane is skeptical. The description of Roxane is "The brightest, the most radiant of women -- and in love with an utter fool."
Empty Street is a room. "No one is about at this hour, all alone under a pale moon."
Telling someone about something is speech. Asking someone about something is speech. Answering someone that something is speech.
This next portion borrows from the Advanced Actions chapter to allow us to command Christian to do things:
A persuasion rule for asking Christian to try speech: persuasion succeeds.
Carry out Christian answering someone that something:
now Roxane is wooed;
say "'[noun], [the topic understood].'"
Carry out Christian answering the player that something:
say "Christian parrots your words back to you." instead.
Carry out Christian telling a skeptical Roxane about something:
now Roxane is confused;
say "Christian turns to [the noun]. 'I must tell you about [the topic understood],' he says, and comes to a halt, looking at you for further direction.
Perhaps you'd better give him exact lines to say. Surely he can't mess up an instruction like 'say hello to Roxane.'" instead.
Carry out Christian asking a skeptical Roxane about something:
now Roxane is confused;
say "'So,' says Christian nervously to [the noun]. 'Did you know about [the topic understood]?' But Roxane merely seems puzzled." instead.
Carry out Christian telling a confused Roxane about something:
now Roxane is annoyed;
say "Christian begins rambling on witlessly about [the topic understood]." instead.
Carry out Christian asking a confused Roxane about something:
now Roxane is annoyed;
say "Christian puts another confused question about [the topic understood]." instead.
And now we have enough material to begin writing the scenes:
Courting Roxane is a scene. Courting Roxane begins when play begins. Courting Roxane ends in success when Roxane is wooed. Courting Roxane ends in failure when Roxane is annoyed.
When Courting Roxane ends in success:
record "Seduction by Proxy" in the Table of Events;
say "Roxane, deeply moved by this sentiment, invites Christian up to her balcony. He scrambles up the ivy and disappears into her bedroom; the last thing you hear is a girlish giggle from above.";
now Roxane is nowhere; now Christian is nowhere;
move the player to Empty Street.
When Courting Roxane ends in failure:
record "Ruining Christian's Chances" in the Table of Events;
say "Roxane sighs heavily and goes back into her room, slamming the door behind her.
'Thanks very much,' says Christian to you, striding off down the street.";
now Roxane is nowhere; now Christian is nowhere;
move the player to Empty Street.
Sulky Ramble is a scene. Sulky Ramble begins when Courting Roxane ends in success. Sulky Ramble ends when the time since Sulky Ramble began is 2 minutes. When Sulky Ramble ends: record "Wandering the Streets, Sulking" in the Table of Events.
Every turn during Sulky Ramble:
say "You find yourself kicking fenceposts quite without thinking about it."
Smug Ramble is a scene. Smug Ramble begins when Courting Roxane ends in failure. Smug Ramble ends when the time since Smug Ramble began is 2 minutes. When Smug Ramble ends: record "Wandering the Streets, Exultant" in the Table of Events; say "Of course, you will regret this soon enough."
Every turn during Smug Ramble:
say "You find yourself smiling fiercely at the moon."
To record (occurrence - text) in (target table - a table name):
choose a blank row in the target table;
now the event entry is the occurrence.
Table of Events
event
"A Duel of Insults"
with 30 blank rows.
The plot summary rule is listed instead of the announce the score rule in the carry out requesting the score rules.
This is the plot summary rule:
say "The Plot So Far: [paragraph break]";
let act number be 0;
repeat through the table of Events:
increment act number;
say " Act [act number]: [event entry][line break]".
Test me with "christian, ask roxane about love / christian, say your breath smells like ripe taleggio to roxane / score / z / z / score".
ExampleGoat-Cheese and Sage Chicken |
Some games provide a FULL SCORE command that gives more information about the player's achievements than SCORE alone. Supposing we wanted to include a FULL SCORE in our game that gave the kind of score reading described in this chapter:
Points |
Citation |
Time |
3 |
"sauteeing onions" |
a time |
3 |
"reconstituting apricots" |
|
1 |
"flattening chicken" |
|
1 |
"unwrapping goat cheese" |
To record (T - text) as achieved:
choose row with a citation of T in the Table of Tasks Achieved;
if there is no time entry:
now time entry is the time of day;
increase the score by the points entry.
Requesting the full score is an action out of world. Understand "full" or "full score" as requesting the full score.
Carry out requesting the full score:
if the score is 0, say "You have achieved nothing towards supper." instead;
repeat through the Table of Tasks Achieved in reverse time order:
say "[time entry]: [citation entry] ([points entry])."
Score |
Rank |
0 |
"Rank Amateur" |
2 |
"would-be Bobby Flay" |
5 |
"Alton Brown" |
8 |
"Julia Child" |
The Kitchen is a room. The description of the Kitchen is "Equipped with many familiar friends: refrigerator, stove, oven; countertop; cabinet for pans and bowls, and a drawer for your tools."
The stove is scenery in the kitchen. It is a supporter. The oven is a container. It is part of the stove. It is closed and openable. The stove's switch is a device. It is switched on. It is part of the stove. The oven's dial is a device. It is switched off. It is part of the oven.
Instead of putting something which is not heatproof on the stove when the stove's switch is switched on:
say "You catch yourself just at the last minute: not a good idea to put [the noun] directly on the stove while it's turned on."
Instead of switching on the stove, try switching on the stove's switch. Instead of switching off the stove, try switching off the stove's switch. Instead of switching on the oven, try switching on the oven's dial. Instead of switching off the oven, try switching off the oven's dial.
Before switching on the oven's dial when the oven is open:
say "(closing the oven so that it will heat properly)[command clarification break]";
try closing the oven.
The frying pan is a heatproof unopenable open container on the stove.
The cabinet is a closed openable container in the kitchen. It is scenery. It contains an open unopenable container called a mixing bowl. It contains a portable supporter called a platter. An open unopenable heatproof container called a Calphalon baking dish is in the cabinet. The baking dish has the description "One of those marvelous pieces of kitchen equipment which goes on the stove or in the oven, as you will. The chief thing is never ever to touch it when it is hot, since the handles are metal and the heat retention excellent."
The counter is a supporter in the kitchen. It is scenery. The kettle is a heatproof openable closed container on the counter. Some water is in the kettle.
The water can be cool, warm, or boiling. The printed name of the water is "[water condition] water".
The refrigerator is a closed openable container in the kitchen. It is scenery. Understand "fridge" as the refrigerator.
Some onions, some apricots, and some sage are ingredients on the counter. A chicken breast, an egg, and goat cheese are ingredients in the refrigerator.
The goat cheese can be wrapped, snipped open, or unwrapped. The printed name of the goat cheese is "[goat cheese condition] goat cheese".
The sage can be unwashed, clean, or julienned. The sage is unwashed. The printed name of the sage is "[sage condition] sage".
The apricots can be dried, reconstituted, or chopped. The apricots are dried. The printed name of the apricots is "[apricots condition] apricots".
The chicken breast can be whole, flattened, stuffed, rolled, coated, browned, or baked. The printed name of the chicken breast is "[chicken breast condition] chicken breast".
The onions can be unpeeled, peeled, diced, sauteed, or burnt. [The printed name of the onions is "[onions condition] onions".]
The can of chicken broth is a closed container on the counter. The bottle of white cooking wine and the bottle of Thurston Wolfe PGV are a closed containers in the refrigerator.
The description of the Thurston Wolfe is "A Washington State Pinot Gris-Viognier, 2003. It is said to have 'peach aromas', and, startlingly, the untutored person can detect these without resorting to fantasy.
(It is also supposed to possess a delicate perfume and a moderate body; the label author at least stopped short of 'good sense of humor and likes long walks on the beach')."
Instead of rubbing the unwashed sage:
now the sage is clean;
say "You rinse off the sage. There -- ready to slice."
Instead of cutting the sage:
say "You'd need to have a knife in hand, first."
Instead of cutting the clean sage when the player is carrying the butcher knife:
now the sage is julienned;
say "You slice the sage into thin strips."
Instead of cutting the unwashed sage:
say "It came from the garden, so it won't have any strange chemicals on it, but you should still give it a rinse for dirt and bugs and so on before using it."
Instead of doing something other than examining or rubbing with the unwashed sage:
say "It needs to be washed off."
Instead of peeling the unpeeled onions:
now the onions are peeled;
say "You tear away the shining outer skin of the onions, leaving them pale and nekkid. Poor things."
Instead of cutting the diced onions:
say "That seems unnecessary now."
Instead of cutting the sauteed onions:
say "Too late; you're well past that stage."
Instead of cutting the burnt onions:
say "There's no rescuing 'em -- the carbon isn't going to flake off, you know."
Instead of cutting the unpeeled onions:
say "It would help to peel them first."
Instead of cutting the peeled onions:
say "You'd need to have a knife in hand, first."
Instead of cutting the peeled onions when the player is carrying the butcher knife:
now the onions are diced;
say "You dice the onions neatly. Your own skill brings tears to your eyes."
Instead of opening the goat cheese:
try peeling the goat cheese instead.
Instead of peeling the unwrapped goat cheese:
say "The goat cheese is already unwrapped. (Stay focused, stay focused...)"
Before peeling the wrapped goat cheese when the shears are held by the player:
try cutting the goat cheese.
Instead of peeling the snipped open goat cheese:
now the goat cheese is unwrapped;
record "unwrapping goat cheese" as achieved;
say "Ah, success. The goat cheese is now free of its packet."
Instead of peeling the wrapped goat cheese:
say "It would help to have a pair of scissors or something -- the packet resists being torn."
Instead of cutting the goat cheese:
say "No need, at this point."
Before cutting the wrapped goat cheese when the shears are not held by the player and the shears are visible:
say "(first picking up the shears)[command clarification break]";
try taking the shears.
Instead of cutting the wrapped goat cheese:
say "Something to cut with would be useful."
Instead of cutting the wrapped goat cheese when the shears are held by the player:
now the goat cheese is snipped open;
say "You neatly snip through the packaging with the shears."
Instead of examining the whole chicken breast:
say "It is still entire and has yet to be pounded flat."
Instead of examining the flattened chicken breast:
say "It has been hammered to a thickness of about a half inch. (The recipe said a quarter inch but you're pretty sure it was joking. You have never been able to achieve a quarter inch.)"
Instead of attacking the whole chicken breast:
say "You need something heavy enough to flatten it with."
Instead of attacking the whole chicken breast when the player is holding the wooden mallet:
now the chicken breast is flattened;
record "flattening chicken" as achieved;
say "You hammer away at the chicken breast, turning all your aggressions into culinary goodness. Several minutes pass. When you are done you have a broad flat chickeny pancake suitable for wrapping about a stuffing."
Before printing the name of onions:
say "[onions condition] ".
The drawer is an openable closed container. It is part of the counter.
A tool is a kind of thing. A spatula, a spoon, a wooden mallet, some shears, and a ball of twine are tools in the drawer. A butcher knife is a tool carried by the player. Understand "scissors" as the shears.
Instead of burning something:
say "You'll have to do that the hard way."
Some steam is fixed in place. "Dense clouds of steam fill the room."
Some smoke is fixed in place. "Smoke is beginning to collect near the ceiling."
Sauteeing Onions is a scene. Sauteeing Onions begins when the diced onions are in a hot container.
Definition: a container is hot if it is on the stove and the stove's switch is switched on.
Preheating the Oven is a scene. Preheating the Oven begins when the oven's dial is heating.
Definition: a oven's dial is heating if the oven's dial has been switched on for exactly one turn.
Preheating the Oven ends when the time since Preheating the Oven began is five minutes.
When Preheating the Oven begins:
say "The oven begins to warm up."
When Preheating the Oven ends:
say "The oven beeps to inform you that it has reached the desired hotness."
Every turn during Sauteeing Onions:
say "The onions sizzle in the pan."
Every turn during Scorching Onions:
say "The onions are past their prime and are getting blacker by the moment."
Every turn during Hearing the Kettle Whistle:
say "The kettle continues to whistle."
Instead of listening to during Hearing the Kettle Whistle:
say "The only thing you can really hear just at the moment is the kettle."
Instead of smelling the Kitchen during Sauteeing Onions:
try smelling the onions.
Instead of smelling the onions during Sauteeing Onions:
say "The onions smell marvelous."
Instead of opening the oven during Preheating the Oven:
say "It'll never heat if you open it up while it's warming."
Heating Kettle is a scene. Heating Kettle begins when the hot kettle contains cool water.
Before printing the name of the kettle when the kettle is hot:
say "hot "
When Heating Kettle begins:
say "The kettle begins to heat up."
Heating Kettle ends when the time since Heating Kettle began is 7 minutes.
Hearing the Kettle Whistle is a scene. Hearing the Kettle Whistle begins when Heating Kettle ends. Hearing the Kettle Whistle ends when the kettle is not hot.
When Hearing the Kettle Whistle begins:
now the water is boiling;
say "The kettle begins to burble and whistle shrilly."
When Hearing the Kettle Whistle ends:
say "The kettle's screaming dies off."
Idling is a scene. Idling begins when play begins. Idling ends when Sauteeing Onions begins.
Sauteeing Onions ends in disaster when Scorching Onions begins.
Sauteeing Onions ends in success when the onions are sauteed and onions are not in a hot container.
Definition: a thing is alone if it is in a container which contains exactly one thing.
Sauteeing Onions ends in mixture when the sauteed onions are not alone.
When Sauteeing Onions ends in mixture:
say "The mixture of things in [the holder of the onions] stops them cooking quite so fast."
When Sauteeing Onions ends in success:
say "Nice work with the onions."
Every turn:
if diced onions have been in a hot pan for ten turns:
say "The onions are starting to look ready.";
now the onions are sauteed.
Scorching Onions begins when Sauteeing Onions ends in disaster. Scorching Onions begins when the alone sauteed onions are in a hot container.
Scorching Onions ends horribly when the time since Scorching Onions began is three minutes. Scorching Onions ends in reprieve when the sauteed onions are not in a hot container. Scorching Onions ends in mixture when the sauteed onions are not alone.
When Scorching Onions ends in mixture:
record "sauteeing onions" as achieved;
say "The mixture of things in [the holder of the onions] stops them cooking quite so fast."
When Scorching Onions ends horribly:
move smoke to Kitchen;
now the onions are burnt.
When Scorching Onions ends in reprieve:
record "sauteeing onions" as achieved;
say "You've got the onions off heat before they can scorch -- a good sign."
Instead of taking the onions when the onions are in the pan: try taking the pan.
Instead of smelling in the presence of the smoke:
say "The scent of the late disaster lingers in the air."
Reconstituting the Apricots begins when the dried apricots are in a container which contains boiling water.
When Reconstituting the Apricots begins:
say "The apricots slowly begin to plump up again."
Reconstituting the Apricots ends when the dried apricots are not in a container which contains boiling water.
Every turn:
if dried apricots have been in a container which contains boiling water for ten turns:
say "The apricots have turned plump(ish).";
now the apricots are reconstituted;
record "reconstituting apricots" as achieved.
Test sautee with "peel onions / cut onions / get onions / put onions in pan / get sage / wash sage / cut sage / wait / wait / wait / wait / wait / wait / wait / get pan".
Test apricots with "get kettle / open kettle / get apricots / put apricots in kettle / put kettle on stove / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait / wait".
Test chicken with "open refrigerator / get chicken / open drawer / get mallet / hit breast".
Test cheese with "get scissors / get cheese / unwrap cheese".
Test me with "full score / test sautee / full score / test apricots / full score / test chicken / full score / test cheese / full score".
And... at that point you're a lot less close to being done than you think. The filling -- onions, sage, apricot, and cheese -- must be assembled and put in the chicken breasts; these tied up in string; each roll dipped in egg yolk and rolled in panko crumbs; these arranged in the Calphalon pan and baked. Then later, the whole retrieved from the oven, and the breasts transferred to a plate while we deglaze the pan and concoct the sauce with the chicken broth, wine, butter, etc. Then the chicken is sliced and plated, and the sauce poured over top. Usually one also wants a side dish or two. A number of things can go interestingly wrong in this process, of course, and implementing it would require, among other things, an intelligent management of all the possible mixtures that result.
ExampleRubies |
The trick here is that we need a table with text in order to keep track of the players' names.
Part 1 largely replicates the source from "Identity Theft"; new material starts at Part 2.
The player's forename is a text that varies. The player's full name is a text that varies.
When play begins:
now the command prompt is "What is your name? > ".
To decide whether collecting names:
if the command prompt is "What is your name? > ", yes;
no.
After reading a command when collecting names:
if the number of words in the player's command is greater than 5:
say "[paragraph break]Who are you, a member of the British royal family? No one has that many names. Let's try this again.";
reject the player's command;
now the player's full name is the player's command;
now the player's forename is word number 1 in the player's command;
now the command prompt is ">";
say "Hi, [player's forename]!";
say "[banner text]";
move the player to the location;
reject the player's command.
Rule for printing the banner text when collecting names: do nothing.
Rule for constructing the status line when collecting names: do nothing.
When play begins:
if the File of Leaderboard exists:
read File of Leaderboard into the Table of Leaders;
sort the Table of Leaders in reverse scored amount order.
When play ends:
choose row 10 in the Table of Leaders; [we've sorted the table, so the lowest score will be the one at the bottom]
if the score is greater than scored amount entry:
now name entry is the player's forename;
now the scored amount entry is the score;
show leaderboard;
write the File of Leaderboard from the Table of Leaders.
To show leaderboard:
sort the Table of Leaders in reverse scored amount order;
say "Current leading scores: [paragraph break]";
say fixed letter spacing;
repeat through Table of Leaders:
if scored amount entry is greater than 0:
say " [name entry]";
let N be 25 minus the number of characters in name entry; [here we want to space out the scores so they make a neat column]
if N is less than 1, now N is 1;
say N spaces;
say "[scored amount entry][line break]";
say variable letter spacing.
To say (N - a number) spaces:
repeat with index running from 1 to N:
say " ".
scored amount |
name |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
0 |
"Smithee" |
And now we introduce a scenario that allows different players to come up with different scores -- admittedly not a very interesting scenario, but it will do for now:
Carry out taking something which is not handled:
increment score.
The Big Treasure Chamber is a room. It contains a ruby, an emerald, a gold tooth, an antique katana, and a silver coin.