MgT2e v0.10
The latest update to my Mongoose Traveller system for Foundry is v0.10.0. Release has been delayed due to me being at WorldCon, and then coming down with COVID. I will probably do another developer video as well, though my post-COVID lack of voice may delay that.
The main changes are:
- Skills and Characteristics now moved out of the actor templates
- Weapons, Armour and Cargo traits are now represented as fixed options
- Improvements to career terms and templates.
The first change is part of the ongoing work to move towards Foundry v12 compatibility. Previously, skills were listed in the template.json
, which meant that they were automatically available to an actor when the actor is created.
Now they are defined in the CONFIG.MGT2 structure, which means they need to be copied to an actor when an actor created event is raised. However, it means the list is now easier to access in code. For example, it’s possible for a module to modify the list of skills or characteristics. For example:
Hooks.once('init', async function() {
CONFIG.MGT2.SKILLS["command"] = {
"label": "Command", "default": "SOC"
};
CONFIG.MGT2.CHARACTERISTICS["PER"] = {
"value": 7, "current": 7, "show": true
};
};
It’s possible to completely replace the lists (by overwriting all of SKILLS or CHARACTERISTICS) if you want a completely different skill system. Note that some things are assumed to exist. Removing STR, DEX or END will break the combat system. “Jack-of-all-Trades” and Athletics are also needed. It would be possible to remove some assumptions made in the code, but that requires some code changes. I did take a look at whether it would be possible to support the Star Wars mod that someone did for Traveller, but the change to END breaks things completely. Fixable, but not something I have time to do at the moment.
The labels for skills now have i18n support. If there isn’t a ‘label’ field, then the i18n version is read.
Items have had a bit of an overhaul as well. Previously, some items had free text fields where it was possible to list traits. For example, weapons could have a list of traits such as:
Auto 3, AP 5, Scope
Since this was a free text field, there was no control over what the user could put here. Total flexibility, but it also meant that if what was written didn’t match what was expected, it wouldn’t have the expected effect. Is a “Laser Sight” written as “Laser Sight”, “lasersight”, “Laser-Sight” or something else?
I’ve changed to a hard code model, where each trait is selected from a drop down list. There is also range control on those traits that have numerical modifiers. Each trait is now shown as a ‘pill’, with specific icons to increment/decrement values and remove the option.
I did something similar for Creatures earlier. The problem is converting from what people may have created previously to the new system. There is a database migration script which runs on upgrade, which tries to be as generous as possible when interpreting what may have been entered. It’s still possible that some trait data will get lost in the migration though.
However, any lost data probably wasn’t working previously anyway.
Career terms can now specify a random career length. Previously there was a tick box that if selected set the career length to 3D6 years. This is compatible with the options for alternative character creation in the Companion. Now it just defaults to 3D6, and can be set to any random length, such as 1D6+2, 2D6 etc.
This provides more options if you want to build templates for use with NPCs. Not everything has to be a multiple of a four year term anymore.
Also changed recently is that when a template is dragged onto an actor, information is output to the chat to detail what was added. For example, adding a ‘Human’ template shows that it is setting each characteristic to 2D6 (and showing the rolled results), and that their height and weight is also set.
In this case, they also get the ‘Unarmed’ item added to their equipment list. This makes it easier to track what happened, because previously it wasn’t obvious.
There are a number of other bug fixes and improvements made over the last few weeks.