For example in your onLoop, you just call the method attackNpc(), no need for states. But that's just how I prefer it.
if (gull != null && !gull.isUnderAttack() && !gull.isHitBarVisible())
attackNpc();
}
I tried the script, the attacking of the next seagull could be a bit faster. Very nice for your first script though.