swarm-0.5.0.0: src/Swarm/Game/Achievement/Description.hs
{-# LANGUAGE OverloadedStrings #-}
-- |
-- SPDX-License-Identifier: BSD-3-Clause
--
-- Flavor text about all defined achievements.
module Swarm.Game.Achievement.Description where
import Swarm.Game.Achievement.Definitions
-- | Function mapping each 'CategorizedAchievement' to an appropriate
-- 'AchievementInfo' record. This function must be updated whenever
-- a new type of achievement is added.
describe :: CategorizedAchievement -> AchievementInfo
describe = \case
GlobalAchievement CompletedSingleTutorial ->
AchievementInfo
"Welcome Freshmen"
(Just $ Freeform "School is in session!")
"Complete one of the tutorials."
Easy
False
GlobalAchievement CompletedAllTutorials ->
AchievementInfo
"Autodidact"
( Just $
FTQuotation $
Quotation
"Terry Pratchet"
"I didn't go to university... But I have sympathy for those who did."
)
"Complete all of the tutorials."
Moderate
False
GlobalAchievement LookedAtAboutScreen ->
AchievementInfo
"About time!"
Nothing
"View the About screen."
Trivial
True
GameplayAchievement CraftedBitcoin ->
-- Bitcoin is the deepest level of the recipes
-- hierarchy.
AchievementInfo
"Master of Your Craft"
Nothing
"Make a Bitcoin"
Moderate
True
GameplayAchievement RobotIntoWater ->
AchievementInfo
"Watery Grave"
(Just $ Freeform "This little robot thinks he's a submarine.")
"Destroy a robot by sending it into the water."
Easy
True
GameplayAchievement AttemptSelfDestructBase ->
AchievementInfo
"Call of the Void"
(Just $ Freeform "What does that big red button do?")
"Attempt to self-destruct your base."
Easy
True
GameplayAchievement DestroyedBase ->
AchievementInfo
"That Could Have Gone Better"
(Just $ Freeform "Boom.")
"Actually destroy your base."
Moderate
True
GameplayAchievement LoseScenario ->
AchievementInfo
"Silver Lining"
(Just $ Freeform "Here's your consolation prize.")
"Lose at a scenario."
Easy
True
GameplayAchievement GetDisoriented ->
AchievementInfo
"Playing Ostrich"
( Just $
FTQuotation $
Quotation
"Lil Jon"
"Fire up that loud / Another round of shots / Turn down for what?"
)
"`turn down` without a compass. Congratulations, you are \"disoriented\". How are you supposed to move now?"
Easy
True
GameplayAchievement SwapSame ->
AchievementInfo
"Fair Trade"
(Just $ Freeform "The *Law of Equivalent Exchange*... taken literally.")
"`swap` an item for itself."
Easy
True