LuaLibraryAchievements.lua
author Wuzzy <almikes@aol.com>
Tue, 17 Jul 2018 18:54:54 +0200
changeset 1484 278848d942ba
permissions -rw-r--r--
Add Achievements lib
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1484
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     1
#summary Lua library documentation of Achievements; contains assorted helper functions
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     2
#labels !LuaLibrary
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     3
= Lua library: `Achievements` =
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     4
WARNING: The achievements system is still very bare bones. It might be subject to major changes in future. This library should only be used internally by Hedgewars at this point.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     5
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     6
This is simple library for awarding an achievement to the player, to be used in missions. They are not meant for multiplayer.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     7
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     8
An achievement in Hedgewars is a simple award given for doing something awesome or difficult in a mission, or winning a mission in a great way.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
     9
Achievements are a hidden feature in Hedgewars so far and far from complete.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    10
One example achievement is “Lively Lifeguard” in the mission “That Sinking Feeling” for rescuing all hogs.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    11
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    12
== `awardAchievement(name, statText, capgrp)` ==
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    13
Awards an achievement with name `name` to player.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    14
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    15
Currently, this only displays a caption and adds a mention in the stat screen.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    16
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    17
* `name`: Name of achievement.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    18
* `statText`: Optional. If set as string, this text will be shown in the stats screen. If `nil`, a default text is used.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    19
* `capgrp`: Optional. Caption group of `AddCaption` to be used. Default is `capgrpMessage2`. If `false`, no caption is shown.
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    20
278848d942ba Add Achievements lib
Wuzzy <almikes@aol.com>
parents:
diff changeset
    21
For consistent style, treat the name like a title is written in the English language. Good: “Naughty Ninja”. Bad: “naughty ninja”.