Mod:Nebula's Mission Board

From PMDOWiki

Nebula's Mission Board is a mod that adds a mission board to the base PMDO game, allowing players to embark in missions to gain special items and money and to gain experience. It looks and plays essentially the same as the base game's Enable Mission Board mod, except that all job generation and job handling functions are dealt with by a highly customizable library bundled within the mod, built with the express purpose of being as easy to import and implement as possible while giving experienced modders the tools they need to make even more complex systems and behaviors.
You can download the mod here.

PMDO Mission Generation Library

The library itself is fully contained inside the Data/Script/missiongen_lib folder inside the mod. By taking this folder and moving it to your mod, you will have access to all of its functions. Remember to credit MistressNebula if you include this library in your project!

Do keep in mind that simply moving the files inside your mod is not enough to set up the library: you will also need to hook all of the necessary events to your mod. Please refer to the links at the bottom of this page for a more in-depth guide on how to do it.

How the library is structured

The library is broken up into 5 files:

  • missiongen_lib.lua is the core file of the library. It's where the most important structures, functions and global variables are defined and handled, as well as the one containing all the hooks that mods are expected to use to interface with it.
  • missiongen_settings.lua contains a table of parameters and properties used by the library to function. This is the file that modders are supposed to edit to alter the behavior of the library. Every setting is documented individually, describing its format, what it is used for and what kind of data it requires. The file is loaded directly by the main file, and is not supposed to be loaded directly.
  • missiongen_menus.lua is a file whose sole purpose is to contain the menus used by the library. It is loaded automatically by the main file, and its functions are not supposed to be interacted with directly.
  • missiongen_service.lua is the file that contains the service required by the library to handle loading, menu edits and dungeon completion tracking. It needs to be loaded separately from the main file. This file also contains the only value outside of the settings file that MIGHT require changing. More details in the setup guide below.
  • missiongen_devcheck.lua contains a function, called by the main file when loading, whose purpose is to check, to the best of its abilities, if the values inside the settings file are valid, and print the results of its test to the console. If this file is deleted or misplaced, the check will simply be skipped. This file is only loaded when the game is in Dev Mode. If you hear the music restart when loading your save data, it's because of this file.
Setup guides
Easy guides
Intermediate guide
Advanced guide