If I understand you, you don’t want all the info shown for all the cards. If I’m making the wrong assumptions. You might need to add more info.
GD handles empty strings strangely. Unless you set the value with an action like set a to “” an empty string is read as a zero.
If each item has the child but you don’t want display certain children then you could add the text in different events instead of all at once.
Set text to name or whatever
If child variable ≠ “0” then add text to bbtext
Notice that the first line uses set while the 2nd uses add. This will append the text.
If the child doesn’t exist then you could use a similar approach but use the condition that checks if the child exists.
Set text to name or whatever
If child kp exists then add text to bbtext
I wouldn’t depend on the empty string technique bc there could come a time when GD fixed it so an empty string returns null or nothing.
For consistency, each structure should have the same children. It will make life easier since you won’t need to check for the existence of the children each time. Remember, if a child doesn’t exist GD will create it if you try to read it.
Instead, maybe set unused children to something like na (not applicable)
Set text to name or whatever
If child variable ≠ “na” then add text to bbtext
Another approach would be to add a type child. Then cards could be displayed depending on their type.
If type = “power” add the text of all children
If type = “upgrade” add different text
A similar approach would be to add an upgraded boolean
Set text to name or whatever
If card.Upgraded equals true then add text to bbtext