2020-10-01 04:08:01 +00:00
|
|
|
#Milestones
|
|
|
|
|
2020-10-15 01:43:16 +00:00
|
|
|
Milestones are awarded to the player when they meet a certain goal, and give some benefit. Milestones should be formatted like this:
|
2020-10-01 04:08:01 +00:00
|
|
|
|
2020-10-01 19:57:47 +00:00
|
|
|
```js
|
2020-10-01 05:43:30 +00:00
|
|
|
milestones: {
|
|
|
|
0: {
|
2020-10-13 03:28:02 +00:00
|
|
|
requirementDesc: "123 waffles",
|
2020-10-01 05:43:30 +00:00
|
|
|
}
|
|
|
|
etc
|
2020-10-01 05:41:25 +00:00
|
|
|
}
|
2020-10-01 19:57:47 +00:00
|
|
|
```
|
2020-10-01 04:51:07 +00:00
|
|
|
|
2020-10-05 21:11:15 +00:00
|
|
|
You can use hasMilestone(layer, id) to determine if the player has a given milestone
|
2020-10-01 04:08:01 +00:00
|
|
|
|
|
|
|
Milestone features:
|
|
|
|
|
2020-10-01 04:51:07 +00:00
|
|
|
- requirementDesc: A string describing the requirement for unlocking this milestone. Suggestion: Use a "total".
|
2020-10-07 20:41:45 +00:00
|
|
|
It can also be a function that returns updating text. Can use basic HTML.
|
2020-10-01 04:51:07 +00:00
|
|
|
|
|
|
|
- effectDesc: A string describing the reward for having the milestone. *You will have to implement the reward elsewhere.*
|
2020-10-07 20:41:45 +00:00
|
|
|
It can also be a function that returns updating text. Can use basic HTML.
|
2020-10-01 04:51:07 +00:00
|
|
|
|
2020-10-15 01:43:16 +00:00
|
|
|
- done(): A function returning a boolean to determine if the milestone should be awarded.
|
2020-10-01 04:51:07 +00:00
|
|
|
|
|
|
|
- toggles: *optional*, Creates toggle buttons that appear on the milestone when it is unlocked.
|
|
|
|
The toggles can toggle a given boolean value in a layer.
|
|
|
|
It is defined as an array of paired items, one pair per toggle. The first is the internal name of the layer
|
|
|
|
the value being toggled is stored in, and the second is the internal name of the variable to toggle.
|
2020-10-03 19:45:47 +00:00
|
|
|
(e.g. [["b", "auto"], ["g", "auto"])
|
|
|
|
|
2020-10-07 03:11:36 +00:00
|
|
|
**Tip:** Toggles are not de-set if the milestone becomes locked! In this case, you should also check if the player has the milestone.
|
|
|
|
|
2020-10-13 03:08:19 +00:00
|
|
|
- style: **Optional**, Applies CSS to this milestone, in the form of an object where the keys are CSS attributes,
|
|
|
|
and the values are the values for those attributes (both as strings)
|
2020-10-07 20:41:45 +00:00
|
|
|
|
2020-10-13 03:08:19 +00:00
|
|
|
- unlocked(): **Optional** A function returning a boolean to determine if the milestone should be shown.
|
|
|
|
If absent, it is always shown.
|
2020-10-07 20:41:45 +00:00
|
|
|
|
2020-10-03 19:45:47 +00:00
|
|
|
- layer: **Assigned automagically**. It's the same value as the name of this layer, so you can do player[this.layer].points or similar
|
|
|
|
|
2020-10-13 03:08:19 +00:00
|
|
|
- id: **Assigned automagically**. It's the "key" which the milestone was stored under, for convenient access.
|
|
|
|
The milestone in the example's id is 0.
|