fix array merging to use id as key

Effects are stored as arrays but have 'id' inside of each effect. Using mergeObject merges array on per-index basis, replacing incorrect effects. Concatenating arrays does not support overriding, only adding. Thus I propose to iterate new effects and search for existing with same id, if found - merge, if not - add to array.

Merge request reports

Loading