I used Ferren Dancer with Swap and Ferren Brawler with Portal Watcher. Also tested with Ferren Master, same result.
One detail, apparently it doesn't just affects the Swapped champion with Portal Watcher. Before I put the pictures I'll explain what I think is happening: Portal Watcher is counting Swap as 2 simultaneous relocations, and given that is a unique feature to Swap my guess is that the game processes it as one triggered event for matters of duration, so while it gives 2 stacks of Portal Watcher to the champions, I believe it's only set to remove one stack of Portal Watcher per trigger. Here we have Ferren Brawler after Swapping Ferren Master with Ferren Pouncer: And here is Ferren Master in the same turn, for clarity purposes: Now I managed to take a Picture of ferren Master during the enemy's turn, to show he had retained a rank of Multi. Apparently He doesn't keep the damage part of the buff( please ignore the image under it, forgot to edit this one). I didn't take a picture of Brawler in the same phase simply because the game didn't really gave me time to(lol).
Yes, both champs count as relocating, but both are removed properly in my test. Note that each "instance" of the trigger is applied separately for 1 turn, and the abilities remove when the condition is removed, so whatever is happening is... very peculiar. <addEffect effectType="IDOL_EFFECT" duration="1"/> <idolEffect isPositive="true" category="BUFF" isRemovable="true" descriptionKey="portal_watcher" assetId="8946" displayName="Portal Watcher"> <do trigger="THIS_EFFECT_COMES_INTO_PLAY"> <addAbility className="Multiattack" rank="1" target="%EFFECT_IDOL" varName="a"/> <addAttribute operation="ADD" attribute="DAMAGE" value="1" target="%EFFECT_IDOL" varName="b" /> </do> <do trigger="THIS_EFFECT_LEAVES_PLAY"> <removeAbility ability="$a" target="%EFFECT_IDOL"/> <removeAttribute effect="$b"/> </do> </idolEffect>
And the fact that that it only keeps multi but not the damage portion is even stranger. EDIT: Don't you have to specify the number of ranks(or a clause for cases when it's higher than 1) to have it remove more than one instance of Multi? I'm wondering if ability removal works the same as a stat buff removal. I'm just shooting blindly here, as I know nothing of Pox code(or most codes for that matter, although 1 introdutory course in college allows me to barely understand this, lol).
No, it references what is added by the variable name. So that it doesn't matter what is being added, it will remove what got added there. It could be adding Multiattack Rank 3 as "variable a" and removing "variable a" would remove that instance of MA3. This is how we can have abilities that grant the same non-ranked effects know only to remove themselves (and not the other granted ones), like for example, the DMG portion, it isn't adding, and then subtracting 1 DMG, it is adding a DMG modification effect with value of X, and then removing that effect. The value of X doesn't matter. That said, ranked abilities are kind of weird, so the bug is likely specifically with regards to ranked abilities rather than Portal Watcher specifically.