There'a also a potential problem with add_brand() and add_slay(). For example (brand -- slay is identical):
	"brand" is always initialized with the "pick" even if nothing is appended. To avoid spamming randarts with resists, a check should be added:
	
							
						
					Code:
	struct brand *brand; ... append_random_brand(&art->brands, &brand) ... if (streq(brand->name, elements[i].name) ...
Code:
	struct brand *brand;
...
if (append_random_brand(&art->brands, &brand)) {
  ...
  if (streq(brand->name, elements[i].name)
  ...
}
 
	 
							
						
Comment