It seems that surface.convert() didn't always strip per-pixel alpha from a surface in pygame 1. In this bit of code solarwolf was relying on that contra-documented bit of behaviour to set a colorkey for these powerups if their loaded 'parent' surface had alpha. In pygame 2 surface convert() behaves in line with the docs and strips alpha from a surface and solarwolf breaks.
It seems that surface.convert() didn't always strip per-pixel alpha from a surface in pygame 1. In this bit of code solarwolf was relying on that contra-documented bit of behaviour to set a colorkey for these powerups if their loaded 'parent' surface had alpha. In pygame 2 surface convert() behaves in line with the docs and strips alpha from a surface and solarwolf breaks.