追記 

void awake (){
    monstar = Getcomponent<monstarstatus>(); //外部から
    monstar2 = Getcomponent<monstar2status> ();//外部から
    int monstarability = monstar.attack;
    int monstar2ability = monstar2.attack;

    int monstarHP = monstar.HP();
    int monstar2HP = monstar2.HP();

条件 monstarHPかつmonstar2HPの数値が>0の場合
monstarが先に行動するとして、

int monstar2LEFTHP = (monstar2HP -= monstarability);
int monstarLEFTHP = (monstarHP -= monstar2ability);

上記の動作を永続的に行う。なお、どちらかのLEFTHPが<0になった場合その場で終了する

これはif と forを使うのでしょうか? または、ほかの方法を求みます。

int monstarLEFTHP = monstarHP - damage;// モンスターLEFTHP = モンスターHP100- damage 20 

この繰り返しの処理をする場合
LEFTHP100ではなく、80になっているので
次は80から-20を引きたい。