I guess that you might need to refactor the ‘putting soap on the duck’ logic.
So, instead of having soap bubbles on the duck be the deciding factor, maybe have a ‘soapiness’ value which slowly gets increased as the player rubs the duck with the soap, and then have the bubbles spawn in when the ‘soapiness’ value gets increased (and if the bubbles are meant to block the soap so the player has to properly cover the entire duck in soap, maybe just tone down their impact to, say, add half as much soapiness than normal instead of 0 soapiness).
Should help to avoid any further bubble-based chicanery