My favorite monster in Final Fantasy X is spherimorph: https://finalfantasy.fandom.com/wiki/Spherimorph#Stats
I would like to recreate a similar monster in D&D 5e.
My starting idea is to give that monster immunity to all kind of damage (fire, cold, acid, poison, lightning, thunder, psychic, force, radiant, necrotic), except one, to which the monster is vulnerable, which changes randomly. In this picture, I suggest the players that only four types of damage are relevant: acid, lightning, fire, cold. Fire is seen (by the monster) as the opposite of cold, acid as the opposite of lightning.
We roll a d4, where: 1 stands for acid, 2 for lightning, 3 for fire and 4 for cold. So if the dice gives 1 the monster became vulnerable to acid, and then it deals lightning damage. Players, seeing that the monster makes lightning damage, then have to target the creature with acid damage. When the creature is hitten and damaged, it randomly (d4) changes its vulnerability.
My creature should have resistance to slashing, piercing and bludgeoning damage, magic or not. I would like to make it immune to several conditions, like prone, grabbed, exhausted, ecc
I have a lot of doubts about it, it seems to me that this approach is too innatural, making the creature too strong and sham. Not exactly somenthing nice and balanced.
Have you any suggestion? I am still learning how to properly deal with monster creation, so please be polite and constructive, even if my idea is terrible bad for you. Thank you.
This monster is intended to be used only within my party, which at the moment are of 8th level. The dice roll to change vulnerability (which counts as an action) is performed in the creature turn. The first turn the creature changes vulnerability, and players that start before the creature can deal to it full damage of every type (namely the creature has not any damage immunity or resistance). I'm still working about fundamental features, but I'm oriented to intend it like an elemental, regarding hit points, damage per round, and AC. The size is large.
I was rightly pointed out that my question is open, and that this doesn't match the policy of the site. I apologize for that, feel free to close if necessary.