Data Schema::Mission File - Subject9x/battleMETAL GitHub Wiki

Mission Files are used on the client-side module of battleMETAL. These are shown to the player when they launch into a mission. The files give relevant mission info, objectives, intel, maybe a briefing animatic. All of these data points are defined in the mission file.

note: to load a mission file into a specific map, make sure the map's worldspawn entity has the .missionFile key set to the name of the file.

Training Map - Example File

  • you can use comments in the text file, but only '//' per line.
  • string values are contained in single quotes; 'foo'.
  • all values are strings, no floats or vectors.

The first data block is the mission briefing data and is all cosmetic.

  • 'img' : path to the satellite image of the map.
  • 'anim' : path to anim file that is playable in ui_briefing.qc.
  • 'name' : name of the mission for display, keep it short, not much space in this textfield.
  • 'type' : this should clue the player into the type of mission, but its up to you.
  • points' : unused.
  • sector' : simply storytelling point.
  • 'location' : simply storytelling point.
  • 'time' : simply storytelling point.
  • 'brief' : a fairly detailed chunk of text outlining the upcoming mission and possible background info.
    • line breaks are created with '|' characters separated by spaces; a | line break | | yes.
  • 'intel' : This really should give the player some direct tips on how to succeed on the mission, but probably be a tad coy or suggestive.
  • 'objtotal' : this is the total number of objectives in the mission, and binds to the map_objective entities in the map.

The next data blocks are objective data. Each block must bind to an map_objective entity in the map file.

  • 'objid' : 'number', this should match .data_idx of a map_objective entity in the map file.
  • 'objdesc' : 'value', a chunk of text, that can be line-wrapped.
    • ' ' is for value separation.
    • use " for quotes if you must.
  • 'objtype' : determines the type of objective for rendering, ordering, and sound playback purposes.
    • 'primary
    • 'secondary'
    • 'tertiary'
  • 'items' : comma-separated values, these are the item UID's unlocked when the objective is complete. -SinglePlayer.
  • 'mechs' : comma-separated values, these are the mech UID's unlocked when objective is complete. -Singleplayer.