i really dont see a need for it. technically using an +index tag should have exactly the same effect. its saying "hey, this is the index i want to use. put all these settings there!". you dont also need to say "i want to change this". it doesnt make any sense to say what your gonna do, and then say youre gonna do it.
*edit*
k i think ive got this figured out. i finished the parse code. i have to change all the other loops now to reflect the change. as it was the number of particle spewers that were used were in the weapon_info stuct. i have removed this number, since slots will now have a random access capability. instead i added a particle spew type, PSPEW_NONE. so instead of iterating through 0 to num_spewers, i simply iterate through all of them, and skip anything if its type is PSPEW_NONE. it was somewhat tricky to preserve reverse compatibility with both existing particle spew tags and the flag-only implementation used in the retail tables, but i think it will work. so heres how things should work when its done:
ommitting both +index: and +remove will add the pspew to the first available slot, starting at 0.
you may add to an existing effect with a modular table in this manor so long as there are free slots available
you may edit an existing tag with a modular table by specifying an index, you may change one value or all of them, including the type or any combination there of. any edits build on the original entry, so the effect is cumulative.
to remove a spewer you need both an +index: and a +remove tag and nothing else. removing a pespew sets its type to none and restores retail defaults.
you can also remove a tag to reset defaults, and then replace it in the same tbm entry.
using the "particle spew" weapon flag without any other tags results in using the defaults and the first spewer only, this may be expanded with tbms. so you can use tbms with new flags on retail weapons while preserving the old spews. omitting the type tag will also use default values with the default spew type unless the type was set by a previous table, in which case that type is used, if you want some other type you must use a type tag.
all slots are filled on a first come first serve basis, lower numbered slots are filled first. they wont ever change places on you, but if you delete a spewer with one modular table, and another in another table, and you add 2 more and delete one, good luck trying to figure out what spew youre editing with +index:. i suggest doing all xmt editing explicitly, if you delete slot 2 in the first xmt, place the next new one in slot 2 just so you know where its going. worst case scenario, you have to run the game up to four times to figure out the correct index.
as usual with fs tables order is not optional. examples of the correct tag order will be made available when i have a new build good to go.
of course i got some more code to rewrite before i release any code/builds. still need to make the rest of the particle spew code work with the new way data is parsed.