Skip to content

Mission Structure

mistermangaker edited this page Nov 26, 2024 · 1 revision

Story Missions

Story missions are a class of mission that is presented to the player during the "midday" section. they contain location, actor information, and preamble information. This is the most common form of mission. below are the individual variables and what they do in specific

python object structure:

Story_Mission(jumplabel, location, actors, activationdate = None, IsActive = False,author =["None"],contributors= ["None"],tags= ["None"],chapter="one",information = ["title","information about the mission","mt.png"])

jumplabel location and actors are required to be filled out or else the game throws an error

activationdate defaults to None if no info is provided
author, contributors, tags default to ["None"] if no information is provided (note that this is different than 'None'. ["None"] is a list with a single string that says "None" while 'None' means no value)
chapter defaults to "one" if no information is provided

information defaults to a list with the 'Title' in list slot [0] 'Body' in list slot [1] and 'Image' in listslot [2]
(note: 'Image' is currently unused. but in the future may be used as a header image on the mission select screen along with the other information)


variables:

jumplabel
type: string
jumplabel is the label that the game sends the player to when the mission is selected on the mission select screen
it is also treated like a unique id by the game.

location
type: string
this is the location tag that the game will use to determine what mission select area can use this mission.

activationdate
type: integer or 'None'
the activation date is the date in "calendar.Totaldays" that the mission will activate on. so a value of 7 will mean that after 7 days have passed ingame the mission will activate the next time the "check mission" code fires

actors
type: list of objects
note: not a list os strings, its a list of other variables a list of actor objects to be used in sorting and displaying who is present at the start of the mission. used to prevent the same people from appearing in several places at once on the mission select screen.

IsActive
type: Boolean
isactive refers to whether or not the mission will appear in the available mission pool for the mission select screen to show. setting IsActive to True during instantiation will make it available at the beginning of the chapter

author
type: list
a list of one or more authors of a mission. used to keep track of credit for writers. also used in sorting.

contributors
type: list
a list of one or more contributors of a mission. used to keep track of credit for people who assist in the creation of assets for a mission. also used in sorting

tags
type: list
tags are used primarily let the game know what content that is found within the mission. also used in sorting.

chapter
type: string
currently does nothing but in the future will be used to further divide missions into sections of content that don't appear with each other

information
type: list
a list of information containing the missions title and preamble. also contains an as of yet unused image. this information is displayed on the mission select screen when a room is hovered over


Special Missions

special missions a subset of a story mission that is triggered directly by the game either in the morning or at night (note: special missions do not have a actors or location tag)

python object structure:

Special_Mission(jumplabel, activationtag = "day", activationdate = None, IsActive = False,author =["None"],contributors= ["None"],tags= ["None"],chapter="one")

jumplabel is required to be filled in or else the game throws an error.

activationtag defaults to 'day' if none is provided. activationdate defaults to None if no info is provided author, contributors, tags default to ["None"] if no information is provided (note that this is different than 'None'. ["None"] is a list with a single string that says "None" while 'None' means no value) chapter defaults to "one" if no information is provided


these variables are identical to story missions: jumplabel activationdate IsActive author contributors tags chapter

variables:

this variable is unique to special missions:
activationtag
type:
string should be either "day" or "night" chooses what time of the day the mission spawns at

meta data

the following is considered metadata by the game and will be used for sorting and selecting missions by the ai director

author

contributors

tags

and also these if the mission is a story mission:
location

actors

in the future this metadata will be used by the AI director to mix up the missions so multiple missions with similar premises or themes aren't displayed one after another currently. The ai director can also be treated like a filter and allow the end user to filter out any kind of content they do not like

currently does nothing however