Repository navigation
Call by script
jdeon edited this page Oct 7, 2026
·
5 revisions
You can access the module's APIs using game.modules.get("particule-fx").api.
- To emit spray particles:
xxx.api.emit.spray(prefillMotionTemplates, prefillColorTemplates, particleShapes, customInput) - To emit gravitating particles:
xxx.api.emit.gravit(prefillMotionTemplates, prefillColorTemplates, particleShapes, customInput) - To emit missile particles:
xxx.api.emit.missile(prefillMotionTemplates, prefillColorTemplates, particleShapes, customInput). Advanced options have the same input as Spray particles with a nested objectsubParticlescontaining another input (spray or gravitating) and type (equals to "Spraying" or "Graviting"). - Write a message describing the emitter with a button to stop it:
xxx.api.emit.writeMessage(emitterId, isVerbal).isVerbalparameter also writes advanced input in the message. - To stop a specific emission:
xxx.api.emit.stop(id, immediate).idis a number or a string ('l' / 'last' for newest emission, 'f' / 'first' for oldest emission).immediateis a boolean to immediately delete living particles. - To stop all emissions:
xxx.api.emit.stopAll(immediate).immediateis a boolean parameter (truedeletes all active particles,falsestops emission only). - To stop a workflow:
xxx.api.emit.stopWorkflow(id, immediate, all). Stops future linked emissions for an emitter.alldisables workflows across all active emitters. - To toggle pause state of an emission:
xxx.api.emit.togglePause(id, isPaused). Pauses or resumes a specific emitter. (since 2.7.0) - To pause or resume all emissions:
xxx.api.emit.pauseAll(isPaused). Pauses (true) or resumes (false) all active emissions. (since 2.7.0) - To duplicate an existing emission:
xxx.api.emit.duplicate(emitterId, overrides). Duplicates an emitter using selected source/target with optional overrides. (since 2.7.0) - To get configuration query of an emission:
xxx.api.emit.getQuery(emitterId, isOriginal). Returns merged or raw input query object. (since 2.7.0) - To show the GM Emitters Panel:
xxx.api.emit.showManagerPanel()(since 2.7.0) - To refresh the GM Emitters Panel:
xxx.api.emit.refreshManagerPanel()(since 2.7.0)
Example To emit missile particles with gravitating sub-particles that form a trail:
game.modules.get("particule-fx").api.emit.missile({ source: { x: 200, y: 250 }, target: token.id, subParticles: { type: "Graviting", particleLifetime: 1000, onlyEmitterFollow: true, particleAngleStart: '0_360' } });
All these methods can also be called directly with the global window.particlesFx object:
particlesFx.sprayParticles(...)particlesFx.gravitateParticles(...)particlesFx.missileParticles(...)particlesFx.stopEmissionById(id, immediate)particlesFx.stopAllEmission(immediate)particlesFx.stopWorkflow(id, immediate, all)-
particlesFx.togglePauseEmissionById(id, isPaused)(since 2.7.0) -
particlesFx.pauseAllEmission(isPaused)(since 2.7.0) -
particlesFx.showEmittersPanel()(since 2.7.0) -
particlesFx.refreshEmittersPanel()(since 2.7.0) particlesFx.writeMessageForEmissionById(emitterId, isVerbal)