oset_apply will automatically check for an appropriate location.
If the same 'type' of affect is being applied then it will stack them on the same location.
Otherwise it will use the next free location, up to MAX_OBJ_AFFECT.
There shouldn't be any need for the builder writing the trigger to specify a location, unless you are doing some real funky triggers?