Scroll Thief — 39 of 138

Daniel M. Stelzer

Release 2

Book A - Achievements

Use persistent achievements.

Table of Achievements

achievementdescriptionvalidation (rule)awarded
"Ivory Tower""Solve the completely unimportant puzzle box"--false
"Turned Against Their Masters""Order the Adventurer to kill you"--false
"You Monster""Murder the Adventurer"--false
"Front Door""Get something out of the Clean Room through the doors"--false
"Word of Recall""Teleport yourself back to a previous location"--false
"Secure Connection""Insert an object into the strongbox the hard way"--false
"Mouse Input""Earn the Last Lousy Point"--false

To award the/-- (name - text) achievement, silently: [Replacing the version in the extension.]

if there is an achievement of name in the Table of Achievements:

choose the row with achievement of name in the Table of Achievements;

if there is no awarded entry or the awarded entry is false:

if not silently: [Added this block. Check for 'silently' so it doesn't infinitely recur.]

follow the read achievement data from an external file rule;

unless there is no awarded entry or the awarded entry is false, stop;

if the number of awarded achievements is 0:

now print achievement command hint is true;

now the awarded entry is true;

if the persistent achievements option is active:

write achievement name to an external file;

if not silently:

carry out the printing the achievement activity with the achievement entry.

Check listing achievements: follow the read achievement data from an external file rule.