I think, GOLD isn't 'strong' enough to replace all nearby BMTL and BRMT. So, better make change to IRON:
(WARNING: I use my own 'scripting language' because I don't understand C++ and LUA.)
IF NOT element_check(nearby,GOLD)
{
IF element_check(nearby,WATR)
OR IF element_check(nearby,SLTW)
OR IF element_check(nearby,OXYG)
OR IF element_check(nearby,LOXY)
THEN change_particle(self,BMTL,)
change_property(self,tmp,10)
END
}
I wish this will be helpful.