add cat to cat has 4 parameters. So if you want to have a Buy one, get one 1/2 off sale on cat 1, do

$this->add_cat_to_cat(1,1,"%", 50);

For cat 2, do

$this->add_cat_to_cat(2,2,"%", 50);

etc.