I'm not positive on this, but it appears that when the attribute "emit_at_once"
XML:
<effect name="psys_game_burning_agent" guid="{42E394C5-21D5-409B-872C-DB082E417FE6}" sound_code="event:/mission/ambient/detail/fire/fire_small">
<emitters>
<emitter name="Emitter" _index_="0">
<flags>
<flag name="emit_while_moving" value="false"/>
<flag name="dont_emit_while_moving" value="true"/>
<flag name="emit_at_once" value="false"/>
is set to false, the particle emitter will constantly emit the particles (ie. the particle system exists until the end of the mission). This seems to be the case for all the 'fire' type particle systems in 'particle_systems2.xml' including "psys_game_burning_agent" which you are using. When that attribute is set to true, and you call the system using the Mission method:
C#:
public void AddParticleSystemBurstByName(string particleSystem, MatrixFrame frame, bool synchThroughNetwork);
Then it will only emit once.
So, it seems like two things need to happen:
- Create a new fire particle system that has the 'emit_at_once' attribute set to true. (I couldn't seem to make new particle systems or override exiting ones, but I may have been making a mistake.)
- Use a mission behavior or some other method to periodically call AddParticleSystemBurstByName on your new fire particle system when your agent's sword is drawn.
If you already figured this out, sorry for the long comment. Also, please share if you know how to add/alter particle systems.