As briefly mentioned by me in #1026 , the data model doesnt consider the different subcategories of Pokemon. While up untill Sun and Moon, the disction "is_legendary" was possible, it always disregarded the mythical moniker, and in sun and moon the moniker sub_legendary was introduced in code, into which ultra beasts also were put into.
And Scarlet and Violet/Gen 9 now further split this into Ultra Beasts, Sub Legendary, Paradox Pokemon, Restricted Legendary and Mythical.
Therefore the datapoints of is_legendary is much more detailed than is previously assumed. One could also argue lorewise while Necrozma is a Restricted Legendary, its also is a Ultra Beast and much more. Koraidon and Miraidon are called paradox pokemon, but are handled as restricted legendaries in code.
So, instead of strict boolean is_legendary and is_starter, a list of categories a pokemon is in would be more appropiate.
As briefly mentioned by me in #1026 , the data model doesnt consider the different subcategories of Pokemon. While up untill Sun and Moon, the disction "is_legendary" was possible, it always disregarded the mythical moniker, and in sun and moon the moniker sub_legendary was introduced in code, into which ultra beasts also were put into.
And Scarlet and Violet/Gen 9 now further split this into Ultra Beasts, Sub Legendary, Paradox Pokemon, Restricted Legendary and Mythical.
Therefore the datapoints of is_legendary is much more detailed than is previously assumed. One could also argue lorewise while Necrozma is a Restricted Legendary, its also is a Ultra Beast and much more. Koraidon and Miraidon are called paradox pokemon, but are handled as restricted legendaries in code.
So, instead of strict boolean is_legendary and is_starter, a list of categories a pokemon is in would be more appropiate.