swarm-0.5.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellSafe-Inferred
LanguageHaskell2010

Swarm.Game.Achievement.Definitions

Description

Definitions of all possible achievements.

Synopsis

Achievements

data CategorizedAchievement Source #

An achievement, categorized as either global or gameplay.

Instances

Instances details
FromJSON CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep CategorizedAchievement :: Type -> Type #

Show CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Ord CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep CategorizedAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep CategorizedAchievement = D1 ('MetaData "CategorizedAchievement" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "GlobalAchievement" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 GlobalAchievement)) :+: C1 ('MetaCons "GameplayAchievement" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 GameplayAchievement)))

data GlobalAchievement Source #

Achievements that entail some aggregate of actions across scenarios, or are independent of any particular scenario.

Instances

Instances details
FromJSON GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Bounded GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Enum GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep GlobalAchievement :: Type -> Type #

Show GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Ord GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep GlobalAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep GlobalAchievement = D1 ('MetaData "GlobalAchievement" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "CompletedSingleTutorial" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CompletedAllTutorials" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LookedAtAboutScreen" 'PrefixI 'False) (U1 :: Type -> Type)))

data GameplayAchievement Source #

Achievements obtained while playing a single scenario.

Instances

Instances details
FromJSON GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Bounded GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Enum GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep GameplayAchievement :: Type -> Type #

Show GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Ord GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep GameplayAchievement Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep GameplayAchievement = D1 ('MetaData "GameplayAchievement" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) ((C1 ('MetaCons "CraftedBitcoin" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RobotIntoWater" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AttemptSelfDestructBase" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DestroyedBase" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LoseScenario" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GetDisoriented" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SwapSame" 'PrefixI 'False) (U1 :: Type -> Type))))

listAchievements :: [CategorizedAchievement] Source #

List of all possible achievements.

Achievement info

data ExpectedEffort Source #

How hard do we expect the achievement to be?

Constructors

Trivial 
Easy 
Moderate 
Gruelling 

Instances

Instances details
FromJSON ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Bounded ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Enum ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep ExpectedEffort :: Type -> Type #

Show ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Ord ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep ExpectedEffort Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep ExpectedEffort = D1 ('MetaData "ExpectedEffort" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) ((C1 ('MetaCons "Trivial" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Easy" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Moderate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gruelling" 'PrefixI 'False) (U1 :: Type -> Type)))

data Quotation Source #

A quotation to spice up the description of an achievement.

Constructors

Quotation 

Fields

Instances

Instances details
FromJSON Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep Quotation :: Type -> Type #

Show Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep Quotation Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep Quotation = D1 ('MetaData "Quotation" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "Quotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "attribution") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

data FlavorText Source #

Flavor text to spice up the description of an achievement, either freeform text or a quotation.

Instances

Instances details
FromJSON FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep FlavorText :: Type -> Type #

Show FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep FlavorText Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep FlavorText = D1 ('MetaData "FlavorText" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "Freeform" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Document Syntax))) :+: C1 ('MetaCons "FTQuotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Quotation)))

data AchievementInfo Source #

Information about an achievement. See Swarm.Game.Achievement.Description for a mapping from achievements to an corresponding AchievementInfo record.

Constructors

AchievementInfo 

Fields

  • title :: Text

    Guidelines:

    • prefer puns, pop culture references, etc.
    • should be a phrase in Title Case.
    • For achievements that are "obfuscated", this can be a vague "clue" as to what the attainment entails.
  • humorousElaboration :: Maybe FlavorText

    Explain the reference, e.g. in the form of a full quote from a movie, or something you might find in a fortune cookie

  • attainmentProcess :: Document Syntax

    Precisely what must be done to obtain this achievement.

  • effort :: ExpectedEffort

    How hard the achievement is expected to be.

  • isObfuscated :: Bool

    Hides the attainment process until after the achievement is attained. Best when the title + elaboration constitute a good clue.

Instances

Instances details
FromJSON AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

ToJSON AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Generic AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Associated Types

type Rep AchievementInfo :: Type -> Type #

Show AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

Eq AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep AchievementInfo Source # 
Instance details

Defined in Swarm.Game.Achievement.Definitions

type Rep AchievementInfo = D1 ('MetaData "AchievementInfo" "Swarm.Game.Achievement.Definitions" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "AchievementInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "humorousElaboration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FlavorText))) :*: (S1 ('MetaSel ('Just "attainmentProcess") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Document Syntax)) :*: (S1 ('MetaSel ('Just "effort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExpectedEffort) :*: S1 ('MetaSel ('Just "isObfuscated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))))