Replace spaces with commas except for text inside brackets

Solution 1:

Using GNU awk for FPAT:

$ awk -v FPAT='[^ ]*|[[][^]]+]' -v OFS=',' '{$1=$1}1' file
[Royal Gauntlets of Silvermoon],(1),Senhna,2500g
[Chestguard of the Vanquished Hero],(1),Neithia,3000g
[Chestguard of the Vanquished Hero],(1),Buddafly,3000g

Solution 2:

if the first field is the only square brackets, another solution

$ awk -F']' '{gsub(" ",",",$2); print $1 FS $2}' file

[Royal Gauntlets of Silvermoon],(1),Senhna,2500g
[Chestguard of the Vanquished Hero],(1),Neithia,3000g
[Chestguard of the Vanquished Hero],(1),Buddafly,3000g

separate the line at the close square bracket, replace single spaces with comma in the second part and join back.