There needs to be some way to define multiple actions that run at the same time, to be reused across timelines and other places. You should be able to define inputs on the macro, and then use those inputs when you call the macro. For example, a Create Ship macro could have name, ship type, position, and tags as inputs, and then run these actions:
Spawn Ship (using ship type, position, and tags)
Set entity components {identity: {name}} to set the name of the ship
Other action macros could be even longer.
As we build out the first campaign, we'll likely find other action macros that would be valuable, and we can include them as defaults in the Thorium Default plugin for other mission writers to use.
Work for this has already begun in the server/src/classes/Plugins/Macro.ts file, but there's likely more work to be done:
Interface for defining the inputs and actions that an action macro will perform
Making it so you can specify inputs in the actions that a macro will call (basically connecting the user-provided inputs to the actions)
Making it so you can pick and configure action macros from the action dropdown.
Probably adding variables or other special things you can put into actions, like a random value that you can use as a tag when creating an object, and then use that same value when referencing the object later.
There needs to be some way to define multiple actions that run at the same time, to be reused across timelines and other places. You should be able to define inputs on the macro, and then use those inputs when you call the macro. For example, a
Create Ship
macro could havename
,ship type
,position
, andtags
as inputs, and then run these actions:{identity: {name}}
to set the name of the shipOther action macros could be even longer.
As we build out the first campaign, we'll likely find other action macros that would be valuable, and we can include them as defaults in the Thorium Default plugin for other mission writers to use.
Work for this has already begun in the
server/src/classes/Plugins/Macro.ts
file, but there's likely more work to be done: