Mission System¶
The main storyline and achievements in the game are all backed by the mission system. A mission is a collection of one or more tasks, which the player must fulfill to progress. A mission may also reward the player with items, emotes, currency, increased health, imagination or backpack storage.
A mission is registered in the Missions table along with information on rewards, prerequisites and the template ids of the objects offering the mission. These objects then have a Mission Offer Component (73) component attached to them, which describe which missions that NPC offers and accepts.
Each Task from the MissionTasks table with the same id as the mission has to be fulfilled for the mission to be considered as completed. There are several types of tasks available, including one general script type
Mission Task Types¶
Smash (0)¶
The player is required to smash a count of targetValue
objects of the templates specified
in target
or targetGroup
.
Script (1)¶
Complete a condition specified in target
or targetGroup
scripts targetValue
times.
The condition will vary drastically between scripts.
QuickBuild (2)¶
The player is required to quick-build a count of targetValue
objects of the templates specified
in target
or targetGroup
.
Collect (3)¶
The player needs to collect (collide with) a count of targetValue
objects of the templates specified
in target
or targetGroup
. The object which needs to be collected will have a
Collectible Component (23) component attached to it, specifying the mission it belongs to.
GoToNPC (4)¶
The player need to go to the NPC of the template specified in target
.
UseEmote (5)¶
The player needs to play any emote id within taskParam1
near an object of the template specified in
target
.
UseConsumable (9)¶
The player needs to consume the template specified in target
targetValue
times.
UseSkill (10)¶
The player needs to trigger targetValue
skill(s) from the comma-delimited set in taskParam1
.
Example mission.
If target
or targetGroup
are present, then the skills in taskParam1
must be used on those target LOTs
Example mission.
ObtainItem (11)¶
The player needs to somehow obtain a count of targetValue
items of the template specified in target
.
This is usually used to implement quests, asking the player to buy something from a vendor or to pick up an item in the world.
taskParam1
does not affect the mission progression but rather what happens to
the items at mission turn in. Depending on taskParam1
:
target
item is not taken from the players inventory on mission turn in.target
item is taken from the players inventory on mission turn in.Note
Discover (12)¶
The player needs to travel to the area specified by the targetGroup
. Possibly related to environment triggers.
MinigameAchievement (14)¶
Achieve at least targetValue
at the targetGroup
statistic in a minigame, such as survival_time_solo
.
target
specifies the relevant Activity ID.
Example: Avant Gardens Survival
Some minigame missions like mission 229 to 1 or true
instead of setting them to their targetValue
since you are intended to get this score in one attempt.
Interact (15)¶
Interact with the target
template targetValue
times.
MissionComplete (16)¶
The player needs to complete a count of targetValue
of the missions specified by
target
and targetGroup
.
EarnReputation (17)¶
The player needs to earn targetValue
reputation.
CollectPowerup (21)¶
The player needs to collect targetValue
powerups of the target
or targetGroup
LOTs.
TamePet (22)¶
The player needs to tame a count of targetValue
of the pet objects specified by
target
and targetGroup
. If taskParam1
is set, taming must take less
than that amount of seconds.
Racing (23)¶
Depending on taskParam1
:
targetValue
place in the race world specified by target
.targetValue
ms lap time or better in the race world specified by target
.targetValue
ms time or better in the race world specified by target
.targetValue
achievements from the targetGroup
.targetValue
achievements of the ones in targetGroup
.targetValue
times.target
without (less than targetValue
???) wrecking.targetGroup
targetValue
times.targetValue
imagination orbs in the racing worlds specified by targetGroup
.target
.targetValue
races at the world specified by target
.targetValue
races at the worlds specified by targetGroup
.Note
targetValue
times in targetGroup
race worlds.targetValue
of the objects specified by targetGroup
.Flag (24)¶
The player needs to activate a count of targetValue
of the flags specified by
target
and targetGroup
.
Place Model (25)¶
The player needs to place models targetValue
times.
Add Behavior (27)
The player needs to add behaviors to models targetValue
times.
VisitProperty (30)¶
The player needs to visit a count of targetValue
properties of template
target
or targetGroup
.
NexusTowerBrickDonation (32)¶
Depending on taskParam1
:
- 0: Donate
targetValue
bricks to the NexusJawbox (what istarget=9999
???)