// attacks repeatedly given certain conditions are met void AttackAfterTime() { if (attackerArmySize > 1) { attack.ATTACK(); UpdateArmySizes(); // recall function after time Invoke("AttackAfterTime", attackDelay); } // if country is claimed make new assault from newly claimed land (i.e. defending country becomes attacking country) and reselect defender else if (teamChecker.UnderControlName(defendingCountry) & defenderArmySize >= armySize) { attackingCountry = defendingCountry; SelectDefender(); // for select attacker none sense value to work update must be skipped if (attackerArmySize > 0) { UpdateArmySizes(); } Invoke("AttackAfterTime", attackDelay); } // attacks again from another attacking point else { attackerIndex++; BeginAssault(); } }