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:

- 0 or no value: No extra parameters apply.
- 1: The target item is not taken from the players inventory on mission turn in.
- 2: The target item is taken from the players inventory on mission turn in.

Note

Items are only ever removed from the inventory types ITEMS and HIDDEN, should they need to be removed
- 5: Items are not taken from the inventory nor will losing these items before the mission is completed decrement progress.

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:

- 1: Be at or above the targetValue place in the race world specified by target.
- 2: Achieve a targetValue ms lap time or better in the race world specified by target.
- 3: Achieve a targetValue ms time or better in the race world specified by target.
- 4: Complete targetValue achievements from the targetGroup.
- 5: Achieve targetValue achievements of the ones in targetGroup.
- 6: Complete a task during while in modular building targetValue times.
- 10: Complete a race at the race world specified by target without (less than targetValue ???) wrecking.
- 11: Smash any smashable in any world contained in targetGroup targetValue times.
- 12: Collect targetValue imagination orbs in the racing worlds specified by targetGroup.
- 13: Enter the race world specified by target.
- 14: Win targetValue races at the world specified by target.
- 15: Win targetValue races at the worlds specified by targetGroup.

Note

Task type 15 is a bitflag! The number of bits that are on dictates the progress of the mission.
- 16: Finish in last place targetValue times in targetGroup race worlds.
- 17: Smash 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 is target=9999 ???)